<asp:GridView ID="GridView_stu" runat="server" CssClass = "grid"
AutoGenerateColumns="False" onrowdatabound="GridView_stu_RowDataBound" DataKeyNames ="courseID"
Height="100%">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="courseName" HeaderText="课题名称" />
<asp:BoundField DataField="style" HeaderText="课题类型" />
<asp:BoundField DataField="stuName" HeaderText="学生姓名" />
<asp:BoundField DataField="stuID" HeaderText="学号" />
<asp:BoundField DataField="teachName" HeaderText="指导教师" />
<asp:TemplateField HeaderText="工号">
<ItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="状态">
<ItemTemplate>
<asp:Label ID="Lbl_state" runat="server" Text='<%# bind("state") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView> protected void Page_Load(object sender, EventArgs e)
{
stu_bind();
}
protected void stu_bind()
{
SQL sql = new SQL();
string sqlstr = "select * from stuCourse";
int recorder = Convert.ToInt32(((DataTable)sql.mytable(sqlstr)).Rows.Count);
this.AspNetPager1.RecordCount = recorder;
SqlConnection myconn = DB.creatconn();
SqlDataAdapter myda = new SqlDataAdapter(sqlstr, myconn);
DataSet myds = new DataSet();
myda.Fill(myds, (this.AspNetPager1.CurrentPageIndex - 1) * AspNetPager1.PageSize, AspNetPager1.PageSize, "table"); this.GridView_stu.DataSource = myds.Tables["table"].DefaultView;
this.GridView_stu.DataBind(); for (int i = 0; i <= myds.Tables["table"].Rows.Count - 1;i ++)
{
if (myds.Tables["table"].Rows[i]["teachName"].ToString() == "" || myds.Tables["table"].Rows[i]["teachName"].ToString() == null)
{
CheckBox cbox = (CheckBox)GridView_stu.Rows[i].FindControl("CheckBox1");
cbox.Enabled = false;
}
else
{
CheckBox cbox = (CheckBox)GridView_stu.Rows[i].FindControl("CheckBox1");
cbox.Enabled = true;
SQL sqlID = new SQL();
string sqlstrID = "select teach_id from teacher where teach_name = '" + myds.Tables["table"].Rows[i]["teachName"].ToString() + "'";
DataTable tableid = (DataTable)sqlID.mytable(sqlstrID);
DropDownList ddl = (DropDownList)GridView_stu.Rows[i].FindControl("DropDownList1 ");
ddl.DataSource = tableid;
ddl.DataTextField = "teach_id";
ddl.DataValueField = "teach_id";
ddl.DataBind();
}
}
}
ddl.DataSource = tableid;
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。很郁闷,tableid里面是有数据的 但是就是会出现上面这种错误 ,很奇怪的问题!!!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货