在datagrid中如何使用dropdownlist 我先显示数据库数据用datagrid,然后点击编辑的时候,有项数据需要用dropdownlist显示,请问如何做,如何让在编辑的时候数据以dropdownlist方式显示 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、在datagrid属性生成器中为datagrid加入模板列2、回到设计界面,编辑模板,然后在EditItemTemplate加入一个dropdownlist控件 你可能还没有明白我的意思,我的意思是在显示的时候没有dropdownlist,当编辑的时候才出来 就是上面那位兄弟的方法.显示的时候是用datagrid显示的,在EditItemTemplate加入一个dropdownlist控件,点击编辑的时候,它就会自动切换了. 如果是用VS.NET2005的话,你可以一句代码也不用写就可以了.直接用下拉模板列,指定它的SQLDATASOURCE来源以及下拉框默认的值的来源就行了.. 在datagrid里面放一个模板列,编辑它,在edit里面放下拉框.然后,在编辑事件里面int myitem = e.Item.ItemIndex;this.datagrid1.DataBind();sql = "select id,name from table";DataTable mytab = 根据SQL取得数据集;DropDownList mydown = (DropDownList)this.datagrid1.Itmes[myitem].FindControl("下拉框ID");mydown.DataSource = mytab;mydown.DataTextField = "name";mydown.DataValueField = "id";mydown.DataBind();mydown.SelectedValue = "要预先选中的值"; 1.*.aspx文件 <ItemTemplate> <asp:Label id=Label2 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.状态") %>'> </asp:Label> </ItemTemplate><EditItemTemplate> <asp:DropDownList id="DropDownList1" runat="server" Width="78px" SelectedIndex='<%# GetStatusIndex(DataBinder.Eval(Container,"DataItem.状态").ToString())%>'> <asp:ListItem Value="未完成">未完成</asp:ListItem> <asp:ListItem Value="完成">完成</asp:ListItem> </asp:DropDownList> </EditItemTemplate>2. *.cs文件代码(一般只有这个事件中用到取值) private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { DropDownList status=(DropDownList)e.Item.FindControl("DropDownList1"); Ope_Index.myDateSet.Tables[0].Rows[currentIndex]["状态"]=status.SelectedValue; tmpDgrd.EditItemIndex=-1;tmpDgrd.DataSource=Ope_Index.myDateSet;tmpDgrd.DataBind(); } sql = "select id,name from table";DataTable mytab = 根据SQL取得数据集;这里不是很清楚?谢谢 你平时是怎么取得数据的?我是不知道,不过,有了SQL给你,你还不知道如何求取吗? 对了,我知道了,但是我说的意思和你说的不一样,我刚才做了的,我想是显示数据的时候就用文本显示,然后编辑的时候,就显示为dropdownlist1呵呵,我市这个意思的! 对插入数据库方法写法的困惑 正则表达式如何实现 关闭进程方法??? 服务器500错误!! 新手问题!视图和存储过程如何区分?什么时候用视图?是么时候用存储过程? 如果只设定一个用户,能同时好几人用这个用户名浏览网页吗? 100分求算法遍历表格 在线等~~~~~~在后台调用弹出层的JS脚本,填充数据之后,为什么弹出层出不来了呢??? 百分求在DataGird删除时确认源码 急:高分求救:关于TreeView控件的动态生成节点 一个函数有问题.大家帮我看看啊. asp.net 2.0 有了dataSource
2、回到设计界面,编辑模板,然后在EditItemTemplate加入一个dropdownlist控件
int myitem = e.Item.ItemIndex;
this.datagrid1.DataBind();
sql = "select id,name from table";
DataTable mytab = 根据SQL取得数据集;
DropDownList mydown = (DropDownList)this.datagrid1.Itmes[myitem].FindControl("下拉框ID");
mydown.DataSource = mytab;
mydown.DataTextField = "name";
mydown.DataValueField = "id";
mydown.DataBind();
mydown.SelectedValue = "要预先选中的值";
<ItemTemplate>
<asp:Label id=Label2 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.状态") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate> <asp:DropDownList id="DropDownList1" runat="server" Width="78px" SelectedIndex='<%# GetStatusIndex(DataBinder.Eval(Container,"DataItem.状态").ToString())%>'>
<asp:ListItem Value="未完成">未完成</asp:ListItem>
<asp:ListItem Value="完成">完成</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
2. *.cs文件代码(一般只有这个事件中用到取值)
private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DropDownList status=(DropDownList)e.Item.FindControl("DropDownList1");
Ope_Index.myDateSet.Tables[0].Rows[currentIndex]["状态"]=status.SelectedValue;
tmpDgrd.EditItemIndex=-1;
tmpDgrd.DataSource=Ope_Index.myDateSet;
tmpDgrd.DataBind();
}
DataTable mytab = 根据SQL取得数据集;这里不是很清楚?谢谢
我是不知道,不过,有了SQL给你,你还不知道如何求取吗?