string sql=" select distinct first_cate from pur_std_data order by first_cate";
DataTable dt=db.db.Get_Table(sql);
Repeater1.DataSource=dt.DefaultView;
Repeater1.DataBind();
for (int i=0;i<dt.Rows.Count;i++)
{
string sql1="select distinct second_cate from pur_std_data where first_cate='"+dt.Rows[i][0].ToString()+"' order by second_cate";
DataTable dt1=db.db.Get_Table(sql1);
CheckBoxList1.DataSource=dt1.DefaultView;
CheckBoxList1.DataTextField=dt1.Columns["second_cate"].Caption;
CheckBoxList1.DataValueField=dt1.Columns["second_cate"].Caption;
CheckBoxList1.DataBind();
}我在Repeater1里插入一個CheckBoxList1,可是邦定的時候報錯未将对象引用设置到对象的实例。CheckBoxList1.DataSource=dt1.DefaultView;這個綁定有問題

解决方案 »

  1.   

    string sql=" select distinct first_cate from pur_std_data order by first_cate";
    DataTable dt=db.db.Get_Table(sql);
    Repeater1.DataSource=dt.DefaultView;
    Repeater1.DataBind();
    for (int i=0;i<dt.Rows.Count;i++)
    {
    string sql1="select distinct second_cate from pur_std_data where first_cate='"+dt.Rows[i][0].ToString()+"' order by second_cate";
    DataTable dt1 = new DataTable();
    dt1 = db.db.Get_Table(sql1);
    CheckBoxList1.DataSource=dt1.DefaultView;
    CheckBoxList1.DataTextField=dt1.Columns["second_cate"].Caption;
    CheckBoxList1.DataValueField=dt1.Columns["second_cate"].Caption;
    CheckBoxList1.DataBind();
    }
      

  2.   

    新加个DataTable dt1 = new DataTable();
      

  3.   

    确定DataTable dt1=db.db.Get_Table(sql1); 这行没问题?
      

  4.   

    这种做法是有问题的,你可以直接将pur_std_data中的数据取出来填充到dt1,然后根据dt.Rows[i][0].ToString(),对dt1中的数据进行筛选就可以了,不用这么频繁的操作数据库吧
      

  5.   

    DataTable dt1=db.db.Get_Table(sql1); 
    這行沒問題..
      

  6.   

    for (int i = 0; i < Repeater1.Items.Count; i++)
                {
                    CheckBoxList c = (CheckBoxList)Repeater1.Items[i].FindControl("checkBox1");
                    DataTable dt = new DataTable();
                    c.DataSource = dt;
                }你的checkBoxList放在repeater里面的,所以要用findControl来取
      

  7.   

    謝謝firsk(杰少) ..我去試試
      

  8.   

    再謝謝firsk(杰少) ..問題解決