标题可能不太完全。
实际的情况是:我用的DataGrid,在TemplateColumn中的EditItemTemplate中,放置了一个DropDownList控件。DropDownList控件的值,我没有数据绑定,直接在Items中加了3个值进去。我现在想在我点“编辑”按钮时,TemplateColumn中的EditItemTemplate中的DropDownList控件,可以提取数据库中的一个值。请问应该在哪个命令中编写代码,以及要如何编写代码~?~是在DataGrid1_EditCommand中?还是在哪里呢?试了好几个命令都实现不了,晕哦~不能每次编辑  都重新选择值吧~~先 3Q 了~~

解决方案 »

  1.   

    写一个函数
    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.   

    TO:GDNPC(烟锁池塘柳,炮镇海城楼)在DataGrid1_ItemDataBound事件里,我只实现过整体的检查,然后修改值。
    像你写的,最后有个“数据库的值”。
    这个值要怎么提取?
    因为每行数据的这个值,可能不同。(因为不光是只有2个状态值,例如我的有3个)。
    按照你这个方法,似乎只能修改有2个值的???
      

  3.   

    可以的,呵呵,昨天刚刚搞过
    最简单的方法是直接绑定,SelectedValue='<%# Eval('你要绑定的字段') %>'
    不过好象是一个Bug,你绑定TextBox等的时候,敲空格会弹出Text等供你选择,绑定DropDownList的时候没有,必须自己把SelectValue.....等些上去。