社区
C#
帖子详情
在Datagrid中编辑时出现DropDownList,怎么让DropDownList某一个Item根据值选中啊?
melonchen
2003-09-12 04:29:15
在Datagrid中编辑时出现DropDownList,怎么让DropDownList某一个Item根据值选中啊?
...全文
151
15
打赏
收藏
在Datagrid中编辑时出现DropDownList,怎么让DropDownList某一个Item根据值选中啊?
在Datagrid中编辑时出现DropDownList,怎么让DropDownList某一个Item根据值选中啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhangjingdai
2003-09-16
打赏
举报
回复
用以下代码可以实现dropdownlist的动态item绑定,dv是在后台声名和获得的dataview
<asp:TemplateColumn SortExpression="functionname" HeaderText="name">
<ItemTemplate>
<asp:Label id=Label2 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.FunctionName") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<FONT face="宋体">
<asp:DropDownList id="Dropdownlist1" runat="server" DataValueField="id" DataTextField="functionname" DataSource="<%# dv %>" >
</asp:DropDownList></FONT>
</EditItemTemplate>
</asp:TemplateColumn>
潜水员2099
2003-09-16
打赏
举报
回复
gz
古人猿类
2003-09-15
打赏
举报
回复
挺好的!
nedvedlh
2003-09-15
打赏
举报
回复
DropDownList1.Items.FindByValue(value).Seleted=true;
取文本直:
DropDownList1.Items.FindByText(value).Seleted=true;
konglord
2003-09-15
打赏
举报
回复
在datagrid的DataGrid1_ItemDataBound事件中用我上面给你的方法 就可以了
konglord
2003-09-15
打赏
举报
回复
给你一段我的代码 你自己看看也许有帮助
DropDownList dr=(DropDownList)e.Item.FindControl("Dropdownlist7");
ListItem mylistitem=dr.Items.FindByValue(((DataSet)ViewState["ds"]).Tables[0].Rows[e.Item.ItemIndex]["OilTankOut"].ToString());
int tankid=dr.Items.IndexOf(mylistitem);
dr.SelectedIndex=tankid;
zhangjingdai
2003-09-15
打赏
举报
回复
我试验了changezhong(小刀) 的代码,不灵的,不知问题出在何处?
我也想在datagrid中的模板加入一个dropdownlist,而其中的listitem是动态加入的,关注!
melonchen
2003-09-13
打赏
举报
回复
this.datagridNewComerList.DataSource=dt;
this.datagridNewComerList.DataBind();
datagridNewComerList是指什么阿?
changezhong
2003-09-13
打赏
举报
回复
我手写的,绝非 Copy,可以运行,好累~~~
changezhong
2003-09-13
打赏
举报
回复
我手写的,绝非 Copy,可以运行,好累~~~
changezhong
2003-09-13
打赏
举报
回复
是这样的,在编辑命令中,如绑定之前使用FindControl是会报错的,你可以尝试先绑定,然后再抓值
1.在定义DataGrid的时候这样定义:
..........
<ItemTemplate>
<asp:Label ID="departmentid_id" Text='<%# DataBinder.Eval(Container, "DataItem.departmentid") %>' Runat="server" Visible=False>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="editdep" Runat="server" width="120>
</asp:DropDownList>
</EditItemTemplate>
2.给ddl(dropdownlist)添入子项
先不要给他数据源,因为现在给他也没用,因为他自身还没有ListItem
也可以这样定义
..........
<ItemTemplate>
<asp:Label ID="departmentid_id" Text='<%# DataBinder.Eval (Container, "DataItem.departmentid") %>' Runat="server" Visible=False>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="editdep" Runat="server" width="120>
<asp:ListItem>a</asp:ListItem>
<asp:ListItem>b</asp:ListItem>
<asp:ListItem>c</asp:ListItem>
......
</asp:DropDownList>
</EditItemTemplate>
当然,如果多了就需要用下面的方法进行绑定了
假设数据源为dt(从数据库捞出来的DataTable),你需要绑定的是第2列(从0列开始算)
那么后台的datagrid_editcommand应该这样写:
private void datagrid_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e))
{
datagrid.EditItemIndex=e.Item.ItemIndex;
this.datagridNewComerList.DataSource=dt;
this.datagridNewComerList.DataBind();//绑定以后,编辑的ddl控件才有效
DropDownList ddl_dep=new DropDownList() ;//申明一个控件来存放来自datagrid的ddl控件
ddl_dep=(DropDownList)datagrid.Items[(int)e.Item.ItemIndex].Cells[2].Controls[1];
for(int i=0;i<dt.count;i++)
{
string str=dt.Rows[i][2].ToString().Trim();
ListItem obj_ListItem = new ListItem(str,i);
ddl_dep.Items.Insert(objListItem,objListItem);
}
//3.用一个循环实现在Datagrid中编辑时出现DropDownList,怎么让DropDownList某一个Item根据值选中
string value=((Label)e.Item.Cells[0].FindControl("departmentid_id")).Text
for(int i=0;i<ddl_dep.Items.Count;i++)
{
if(ddl_dep.Items[i].Value.ToString().Trim().ToUpper()==value.ToUpper())
{
ddl_dep.Items[i].Selected=true;
break;
}
}
}
这样可以实现
melonchen
2003-09-12
打赏
举报
回复
我换了阿!
string value=((Label)e.Item.Cells[0].FindControl("departmentid_id")).Text,可还是报错!
jjcccc
2003-09-12
打赏
举报
回复
要把value换成你数据源的实际字段啊.
melonchen
2003-09-12
打赏
举报
回复
在什么的地方加啊?
我的Datagrid是:
..........
<ItemTemplate>
<asp:Label ID="departmentid_id" Text='<%# DataBinder.Eval(Container, "DataItem.departmentid") %>' Runat="server" Visible=False>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="editdep" Runat="server" DataSource="<%#personDatagrid_Dataview()%>" DataTextField="department" DataValueField="id" Visible="true">
</asp:DropDownList>
</EditItemTemplate>
根据departmentid_id的值来选中DropDownList的某项,如果在OnEditCommand的事件中加入DropDownList1.Items.FindByValue(value).Seleted=true;程序就会报错,说未将对象实例化。
jjcccc
2003-09-12
打赏
举报
回复
DropDownList1.Items.FindByValue(value).Seleted=true;
把value换成你的实际值(变量)。
asp.net 自定义
DropDown
List
(Custom
DropDown
List
)(上
一个
有点bug)
用
DataGrid
基于jQuery(实际上只用了它的按照类查找元素
一个
方法)写的自定义
DropDown
List
,解决不能控制生成后的Select html控件不能控制zIndex而遮挡Div层及其他复杂样式,没有封装成dll,压缩包里是例子及所有用到...
處理
DropDown
List
遮蓋
DataGrid
的表頭
htc文件 用來處理
DropDown
List
遮蓋
DataGrid
的表頭的情況
asp.net 自定义
DropDown
List
(Custom
DropDown
List
)
用
DataGrid
基于jQuery(实际上只用了它的按照类查找元素
一个
方法)写的自定义
DropDown
List
,解决不能控制生成后的Select html控件不能控制zIndex而遮挡Div层及其他复杂样式,并且可以自动回发到服务器,没有封装成dll...
flex
Datagrid
checkbox全选
flex
Datagrid
checkbox全选
Datagrid
asp.net专家疑难解答200问源码
119.如何在
DataGrid
中
弹出
一个
详细信息窗口-示例2 120. 如何在
DataGrid
控件
中
添加CheckBox控件列 121.如何为
DataGrid
控件
中
的删除列添加确认框 122.如何使用
DataGrid
控件实现主细表 123.如何实现
DataGrid
控件的...
C#
110,539
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章