欢迎光临
我们一直在努力

使用DataGrid动态绑定DropDownList-.NET教程,Asp.Net开发

建站超值云服务器,限时71元/月

简单的使用模板列绑定dropdownlist,初学者想必都会了,但有时候,我们要做的就是在编辑的时候想让某一列定制为dropdownlist,并且根据正常情况下显示的值自动变换dropdownlist中所选的值,然后保存选择后的值到数据库或xml文件,其实要做到这样的功能并不难,只要我们学会使用datagrid的datagrid1_itemdatabound事件就行了,跟我来做个例子。

//检索数据库的函数

public dataset getzcbd()

{

try

{

dataset ds=new dataset();

string searchstring="select id,yy,bj from zc";

da=new oledbdataadapter(searchstring,conn);

da.fill(ds,"yy");

return ds;

}

catch

{

return null;

}

}

//绑定datagrid

private void bindgrid()

{

dataset ds = new dataset();

ds = us.getzcbd();

if (ds!=null)

{

this.datagrid1.datasource = ds;

this.datagrid1.databind();

}

else

{

msg.alert("加载数据错误!",page);

}

}

绑定好datagrid以后,设定模板列,让其正常显示下为label,并绑定为数据库中一id值,在编辑状态下为dropdownlist,并绑定为数据库中一name值,我们现在要做的就是当我们选择编辑时根据label的值自动从数据库中取出编号为id值的姓名,并用dropdownlist默认选中。(注释:为了方便大家学习,我给出一个简单代码的例子,供大家参考)

private void datagrid1_itemdatabound(object sender, system.web.ui.webcontrols.datagriditemeventargs e)

{

if (e.item.itemtype == listitemtype.edititem)

{

datarowview drv = (datarowview)e.item.dataitem;

string current = drv["label1"].tostring();

dropdownlist ddl = (dropdownlist)e.item.findcontrol("ddl");

ddl.selectedindex = ddl.items.indexof(ddl.items.findbyvalue(current));

}

if ((e.item.itemtype == listitemtype.item)||(e.item.itemtype == listitemtype.alternatingitem))

{

label t = (system.web.ui.webcontrols.label)e.item.findcontrol("label1");

string current = this.bindddl(int.parse(t.text));

e.item.cells[1].text = current;

}

}

private string bindddl(int ddd)

{

string sss = "";

if (ddd==1)

{

sss="张三";

return sss;

}

else

{

sss="李四";

return sss;

}

}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 使用DataGrid动态绑定DropDownList-.NET教程,Asp.Net开发
分享到: 更多 (0)