标题可能不太完全。
实际的情况是:我用的DataGrid,在TemplateColumn中的EditItemTemplate中,放置了一个DropDownList控件。DropDownList控件的值,我没有数据绑定,直接在Items中加了3个值进去。我现在想在我点“编辑”按钮时,TemplateColumn中的EditItemTemplate中的DropDownList控件,可以提取数据库中的一个值。请问应该在哪个命令中编写代码,以及要如何编写代码~?~是在DataGrid1_EditCommand中?还是在哪里呢?试了好几个命令都实现不了,晕哦~不能每次编辑 都重新选择值吧~~先 3Q 了~~
实际的情况是:我用的DataGrid,在TemplateColumn中的EditItemTemplate中,放置了一个DropDownList控件。DropDownList控件的值,我没有数据绑定,直接在Items中加了3个值进去。我现在想在我点“编辑”按钮时,TemplateColumn中的EditItemTemplate中的DropDownList控件,可以提取数据库中的一个值。请问应该在哪个命令中编写代码,以及要如何编写代码~?~是在DataGrid1_EditCommand中?还是在哪里呢?试了好几个命令都实现不了,晕哦~不能每次编辑 都重新选择值吧~~先 3Q 了~~
private void DdlBinding(DropDownList Ddl, string key)
{
foreach(ListItem item in Ddl.Items)
{
item.Selected = false;
if(item.Value == key)
{
item.Selected = true;
return;
}
}
}然后在DataGrid1_ItemDataBound事件里面写
DropDownList Ddl = (DropDownList)e.Item.FindControl("Ddl");
DdlBinding(Ddl,"数据库的值");
像你写的,最后有个“数据库的值”。
这个值要怎么提取?
因为每行数据的这个值,可能不同。(因为不光是只有2个状态值,例如我的有3个)。
按照你这个方法,似乎只能修改有2个值的???
最简单的方法是直接绑定,SelectedValue='<%# Eval('你要绑定的字段') %>'
不过好象是一个Bug,你绑定TextBox等的时候,敲空格会弹出Text等供你选择,绑定DropDownList的时候没有,必须自己把SelectValue.....等些上去。