关于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)