关于CheckBoxList控件动态绑定数据源我在之前的一个文章中记录过,但这个控件在使用数据源绑定的情况下使用ajax变动数据库的时候,item的内容不能自动更新,所以如果使用ajax则需要用代码控制items更新。因此最后不采用绑定方式使用此控件是最方便的。
1.给控件添加选项。
string conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\storage\\users.accdb";
using (OleDbConnection con = new OleDbConnection(conStr))
{
con.Open();
string cmdStr = "select [name] from [topic] ORDER BY statis DESC";
DataSet names = new DataSet();
using (var cmd = new OleDbCommand(cmdStr, con))
{
OleDbDataAdapter s = new OleDbDataAdapter(cmdStr, conStr);
s.Fill(names);
}
for (int i = 0; i < names.Tables[0].Rows.Count; i++)
{
CheckBoxList1.Items.Add(names.Tables[0].Rows[i][0].ToString());
}
con.Close();
}
2.ajax后台变更数据库,更新CheckBoxList.items内容
//变更数据库
//...
CheckBoxList1.Items.Clear();
using (OleDbConnection con = new OleDbConnection(conStr))
{
con.Open();
string cmdStr = "select [name] from [topic] ORDER BY statis DESC";
DataSet names = new DataSet();
using (var cmd = new OleDbCommand(cmdStr, con))
{
OleDbDataAdapter s = new OleDbDataAdapter(cmdStr, conStr);
s.Fill(names);
}
for (int i = 0; i < names.Tables[0].Rows.Count; i++)
{
CheckBoxList1.Items.Add(names.Tables[0].Rows[i][0].ToString());
}
con.Close();
}
(The End)