怎样将数据绑定到CheckListbox 怎样将数据绑定到CheckListbox???先检索数据库,返回Dt。是不是和绑定Dropdownlist的方法一样?如果一样,当CheckBoxList中的项横向排列时,如果宽度超过表格的宽度,CheckBoxList会不会自动换行来显示其中的项???不会该怎么办??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 for(int i=0;i<dt.Rows.Count;i++) { this.CheckBoxList1.Items.Add(dt.Tables[0].Rows[i]["部門"].ToString()); } CheckBoxList有个RepeatLayout属性可以设置显示样式的。 for(int i=0;i<dt.Rows.Count;i++) { this.CheckBoxList1.Items.Add(dt.Tables[0].Rows[i][""].ToString()); } 这样可以吗??? 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(); } CheckBoxList有个RepeatLayout属性,一个是Table一个是Layout,分别表示怎样布局??? /// <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; } 跟Dropdownlist差不多..另外CheckBoxList控件是有属性来设置横向或者纵向的滚动条的. 这个现实内容应该在sql语句中就限制每个项的显示个数,这样绑定后肯定不会超出 模态窗口最小化 新手关于数据库连接问题 网站SEO问题,请教 如何导入邮箱中的通讯录(联系人)? SQL数据库查询问题..急急急...在线等!!!!!!!! vs2008中将gridview中的数据导出到excel,无法设置表中数据的格式 请问.net framework里的类和方法要记吗?我老师说不要记,可我觉得要记。如果要记请问有什么好办法来提高效率吗? DataGrid中控件隐藏的问题~~急~在线等 本人新学ASP有个笨问题 如何实现自定义标签 asp.net _doPostBack提交里添加的控件属性不起作用 treeview刷新问题。
{
this.CheckBoxList1.Items.Add(dt.Tables[0].Rows[i]["部門"].ToString());
}
{
this.CheckBoxList1.Items.Add(dt.Tables[0].Rows[i][""].ToString());
}
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();
}
/// 绑定页面控件数据
/// </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;
}
另外CheckBoxList控件是有属性来设置横向或者纵向的滚动条的.