怎样将数据绑定到CheckListbox???先检索数据库,返回Dt。是不是和绑定Dropdownlist的方法一样?如果一样,当CheckBoxList中的项横向排列时,如果宽度超过表格的宽度,CheckBoxList会不会自动换行来显示其中的项???不会该怎么办???

解决方案 »

  1.   

    for(int i=0;i<dt.Rows.Count;i++)
    {
    this.CheckBoxList1.Items.Add(dt.Tables[0].Rows[i]["部門"].ToString());
    }
      

  2.   

    CheckBoxList有个RepeatLayout属性可以设置显示样式的。
      

  3.   

    for(int i=0;i<dt.Rows.Count;i++)
                    {
                        this.CheckBoxList1.Items.Add(dt.Tables[0].Rows[i][""].ToString());
                    }
      

  4.   

    这样可以吗???
     public static void CheckboxlistBind(CheckBoxList cbl, DataTable dt, string DataTextField, string DataValueField)
            {
                cbl.AppendDataBoundItems = true;
                cbl.DataSource = dt;
                cbl.DataTextField = DataTextField;
                cbl.DataValueField = DataValueField;
                cbl.DataBind();
            }
      

  5.   

    CheckBoxList有个RepeatLayout属性,一个是Table一个是Layout,分别表示怎样布局???
      

  6.   

    /// <summary>
            /// 绑定页面控件数据
            /// </summary>
            /// <param name="WebCtrl">要绑定的控件</param>
            /// <param name="sql">绑定使用的sql</param>
            /// <returns>记录行数</returns>
            public static int DataBind(object WebCtrl, DataTable dt)
            {
                int iCount = 0;
                string type = WebCtrl.GetType().FullName;
                switch (type)
                {
                    case "System.Web.UI.WebControls.DataList":
                        {
                            iCount = dt.Rows.Count;                        System.Web.UI.WebControls.DataList ctrl = WebCtrl as System.Web.UI.WebControls.DataList;                        //for (int Index = 0; Index < (ctrl.PageSize - iCount % ctrl.PageSize) && (Index < ctrl.PageSize) && (ctrl.AllowPaging == true); Index++)
                            //{
                            //    DataRow dr = dt.NewRow();
                            //    dt.Rows.Add(dr);
                            //}                        ctrl.DataSource = dt.DefaultView;
                            ctrl.DataBind();
                            break;
                        }
                    case "System.Web.UI.WebControls.DataGrid":
                        {
                            iCount = dt.Rows.Count;                        System.Web.UI.WebControls.DataGrid ctrl = WebCtrl as System.Web.UI.WebControls.DataGrid;                        for (int Index = 0; Index < (ctrl.PageSize - iCount % ctrl.PageSize) && (Index < ctrl.PageSize) && (ctrl.AllowPaging == true); Index++)
                            {
                                DataRow dr = dt.NewRow();
                                dt.Rows.Add(dr);
                            }                        ctrl.DataSource = dt.DefaultView;
                            ctrl.DataBind();
                            break;
                        }
                    case "System.Web.UI.WebControls.GridView":
                        {
                            iCount = dt.Rows.Count;                        System.Web.UI.WebControls.GridView ctrl = WebCtrl as System.Web.UI.WebControls.GridView;                        for (int Index = 0; Index < (ctrl.PageSize - iCount % ctrl.PageSize) && (Index < ctrl.PageSize) && (ctrl.AllowPaging == true); Index++)
                            {
                                DataRow dr = dt.NewRow();
                                dt.Rows.Add(dr);
                            }                        ctrl.DataSource = dt.DefaultView;
                            ctrl.DataBind();
                            break;
                        }
                    case "System.Web.UI.WebControls.DropDownList":
                        {
                            System.Web.UI.WebControls.DropDownList ctrl = WebCtrl as System.Web.UI.WebControls.DropDownList;
                            System.Web.UI.WebControls.ListItem lt = new System.Web.UI.WebControls.ListItem();
                            ctrl.Items.Clear();
                            foreach (DataRow dr in dt.Rows)
                            {
                                lt.Text = dr[0].ToString();//Name
                                lt.Value = dr[1].ToString();//Value                            ctrl.Items.Add(lt);                            lt = new System.Web.UI.WebControls.ListItem();
                            }
                            break;
                        }
                    case "System.Web.UI.HtmlControls.HtmlSelect":
                        {
                            System.Web.UI.HtmlControls.HtmlSelect ctrl = WebCtrl as System.Web.UI.HtmlControls.HtmlSelect;
                            System.Web.UI.WebControls.ListItem lt = new System.Web.UI.WebControls.ListItem();
                            ctrl.Items.Clear();
                            foreach (DataRow dr in dt.Rows)
                            {
                                lt.Text = dr[0].ToString();//Name
                                lt.Value = dr[1].ToString();//Value                            ctrl.Items.Add(lt);                            lt = new System.Web.UI.WebControls.ListItem();
                            }
                            break;
                        }
                    case "System.Web.UI.WebControls.ListBox":
                        {
                            System.Web.UI.WebControls.ListBox ctrl = WebCtrl as System.Web.UI.WebControls.ListBox;
                            System.Web.UI.WebControls.ListItem lt = new System.Web.UI.WebControls.ListItem();
                            ctrl.Items.Clear();
                            foreach (DataRow dr in dt.Rows)
                            {
                                lt.Text = dr[0].ToString();//Name
                                lt.Value = dr[1].ToString();//Value                            ctrl.Items.Add(lt);                            lt = new System.Web.UI.WebControls.ListItem();
                            }
                            break;
                        }
                    case "System.Web.UI.WebControls.CheckBoxList":
                        {
                            System.Web.UI.WebControls.CheckBoxList ctrl = WebCtrl as System.Web.UI.WebControls.CheckBoxList;
                            System.Web.UI.WebControls.ListItem lt = new System.Web.UI.WebControls.ListItem();
                            ctrl.Items.Clear();
                            foreach (DataRow dr in dt.Rows)
                            {
                                lt.Text = dr[0].ToString();//Name
                                lt.Value = dr[1].ToString();//Value                            ctrl.Items.Add(lt);                            lt = new System.Web.UI.WebControls.ListItem();
                            }
                            break;
                        }
                    case "System.Web.UI.WebControls.RadioButtonList":
                        {
                            System.Web.UI.WebControls.RadioButtonList ctrl = WebCtrl as System.Web.UI.WebControls.RadioButtonList;
                            System.Web.UI.WebControls.ListItem lt = new System.Web.UI.WebControls.ListItem();
                            ctrl.Items.Clear();
                            foreach (DataRow dr in dt.Rows)
                            {
                                lt.Text = dr[0].ToString();//Name
                                lt.Value = dr[1].ToString();//Value                            ctrl.Items.Add(lt);                            lt = new System.Web.UI.WebControls.ListItem();
                            }
                            break;
                        }            }            dt.Dispose();            return iCount;
            }
      

  7.   

    跟Dropdownlist差不多..
    另外CheckBoxList控件是有属性来设置横向或者纵向的滚动条的.
      

  8.   

    这个现实内容应该在sql语句中就限制每个项的显示个数,这样绑定后肯定不会超出