问题:
1。怎么从数据库里读取出状态帮定到模版列
2。怎么选取状态回传后能改变当前行的状态
谢谢谢谢

解决方案 »

  1.   

    1)在DataList的ItemDataBound事件当中处理:
     private DataTable dt;
            private void LoadData()
            {
                dt = ...;
                this.DataList1.DataSource = dt;
                this.DataList1.DataBind();
            }
            private void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
            {
                if(e.Item.ItemIndex>-1)
                {
                    DropDownList tmp = e.Item.FindControl("DropDownList1");
                    tmp.DataSource = ....;
                    tmp.DataBind();
                    tmp.SelectedValue = dt.Rows[e.Item.ItemIndex]["field1"].ToString();
                }
            }
      

  2.   

    2)提交时也是一样, DropDownList tmp = DataList1.Item[行号].FindControl("DropDownList1");至于如何更新,那就看楼主具体的界面要求如何操作了:
      

  3.   

    这有很简单的解决方法,做一个testControl.ascx用户自定义web控件;
    里面就放一个Label,一个下拉框,定义一个属性RecordID,
    模版列里就不放dropdownlist了,就放testControl;
    然后在ItemDataBound里给它赋值
      if(e.Item.ItemIndex>-1)
                {
                    testControl tmp = e.Item.FindControl("testControl1");
                    tmp.RecordID = dt.Rows[e.Item.ItemIndex]["field1"].ToString();
                }
    再然后?ascx里面处理dropdownlist的selectindexchanged事件就好了
      

  4.   

    不用控件行吗?我想把每个DROPDOWNLIST绑定一个selectindexchanged事件,就是不知道怎么把DATAGRID里的当前操作行确定下来