C# 此代码(或项目)如何工作?(可编辑ASP Gridview)

C# 此代码(或项目)如何工作?(可编辑ASP Gridview),c#,asp.net,c#-4.0,gridview,C#,Asp.net,C# 4.0,Gridview,我是ASP.NET新手,我会在ASP.NET中使用C#创建可编辑的gridview,我在codeproject中找到了这个可编辑的gridview(,),但我没有意识到如何创建它 其工作特别是本部分代码:` protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { DataRowView drv = e.Row.DataItem as DataRowView;

我是ASP.NET新手,我会在ASP.NET中使用C#创建可编辑的gridview,我在codeproject中找到了这个可编辑的gridview(,),但我没有意识到如何创建它 其工作特别是本部分代码:`

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
     DataRowView drv = e.Row.DataItem as DataRowView;
       if (e.Row.RowType == DataControlRowType.DataRow)
      {
          if ((e.Row.RowState & DataControlRowState.Edit) > 0)
          {
              DropDownList dp= (DropDownList )e.Row .FindControl ("DropDownList1");
              DataTable dt = load_department();
              for (int i = 0; i < dt.Rows.Count; i++)
           {
               ListItem lt = new ListItem();
               lt.Text = dt.Rows[i][0].ToString();
               dp.Items.Add(lt);
           }
              dp.SelectedValue = drv[3].ToString();
              RadioButtonList rbtnl = (RadioButtonList)e.Row.FindControl("RadioButtonList1");
              rbtnl.SelectedValue = drv[5].ToString();
              CheckBoxList chkb = (CheckBoxList)e.Row.FindControl("CheckBoxList2");
              chkb.SelectedValue = drv[6].ToString();    
          }              
       }
   }
受保护的无效GridView1\u行数据绑定(对象发送方,GridViewRowEventArgs e)
{
DataRowView drv=e.Row.DataItem作为DataRowView;
如果(e.Row.RowType==DataControlRowType.DataRow)
{
如果((e.Row.RowState和DataControlRowState.Edit)>0)
{
DropDownList dp=(DropDownList)e.Row.FindControl(“DropDownList1”);
DataTable dt=加载部门();
对于(int i=0;i
`
她/他为什么这样做???

当您将网格绑定到数据源(例如,数据表)时,会触发RowDataBound事件

对于datatable中的每一行,此代码都将运行,并将根据该行中的值在网格视图的每一列中放置一个值

FindControl用于在网格视图的该行上查找具有特定名称的控件-请记住,它将在您拥有的行中重复多次

一旦找到控件,就会设置该值

您正在为数据源中的每一行数据有效地设置网格视图的每一行


查看此控件背后意图的概述。

当您将网格绑定到数据源(例如,数据表)时,将触发RowDataBound事件

对于datatable中的每一行,此代码都将运行,并将根据该行中的值在网格视图的每一列中放置一个值

FindControl用于在网格视图的该行上查找具有特定名称的控件-请记住,它将在您拥有的行中重复多次

一旦找到控件,就会设置该值

您正在为数据源中的每一行数据有效地设置网格视图的每一行

查看此控件背后的意图概述。

**当数据行绑定到GridView控件中的数据时发生

**指定数据控件中的行的状态,例如编辑、插入、选定等

**获取行与DataRowCollection关系的当前状态

现在,
如果条件
您的下拉框(DropDownList 1)已填充,RadioButton和CheckBox正在设置其选定的值。

**当数据行绑定到GridView控件中的数据时发生

**指定数据控件中的行的状态,例如编辑、插入、选定等

**获取行与DataRowCollection关系的当前状态

现在,如果条件
您的下拉框(DropDownList1)已填充,RadioButton和CheckBox正在设置其所选值