如何将数据添加到GridView?

时间:2013-02-09 08:21:33

标签: c# asp.net gridview

我正在尝试通过以下代码添加数据:

protected  void gridview1_RowCreated(object sender, GridViewRowEventArgs e)
{
  if (e.Row.RowType == DataControlRowType.DataRow)
  {
    if (Session["BranchingCode"] != null)
    {
      List<CourseDetail> studentList = Course_Detail.GetStudentListOfBranch(Session["BranchingCode"].ToString(), Session["CurrentSession"].ToString());
      if (studentList != null)
      {
        for (int i = 0; i < studentList.Count(); i++)
        {
           e.Row.Cells[0].Text = studentList[i].UserNameRoll;
           e.Row.Cells[1].Text = studentList[i].StudentName;
        }
      }
    }
    GridView1.DataBind();
  }
}

但是因为Gridview没有附加datasource,所以此事件不会触发。 请告诉我该怎么办? 反正有没有强行发动这个事件或做其他事情&amp;在其他地方输入数据..?

1 个答案:

答案 0 :(得分:2)

你滥用这个事件,如果强行你就不应该打电话。

首先在page_load事件中的某处加载数据并将其绑定到网格:

if (Session["BranchingCode"] != null)
{
   List<CourseDetail> studentList = Course_Detail.GetStudentListOfBranch(Session["BranchingCode"].ToString(), Session["CurrentSession"].ToString());
   if (studentList != null)
   {  
       GridView1.DataSource = studentList;
       GridView1.DataBind();
   }
}

这会将您的学生列表绑定到网格。现在我们必须处理在网格上显示数据,有多种方法可以做到这一点,但这应该足够你了:

在您声明GridView的html,xxx.aspx页面中执行此操作:

<asp:GridView ID="GridView1" runat="server" ...... >
   <Columns>
      <asp:BoundField HeaderText="User Name Roll" DataField="UserNameRoll" />
      <asp:BoundField HeaderText="Student Name" DataField="StudentName" />
   </Columns>
</asp:GridView>