這東西真是奇怪元件
一般後端會遇到的顯示Value&ID會分開,那要如何設定Checkedlistbox呢?
建立checkedListBox1
DataSet ds = new DataSet();
ds=資料庫資料
DataTable list = new DataTable();
list.Columns.Add(new DataColumn("Display", typeof(string)));
list.Columns.Add(new DataColumn("Id", typeof(int)));
for (int i = 0; i < ds2.Tables[0].Rows.Count; i++)
{
list.Rows.Add(list.NewRow());
list.Rows[i][0] = ds.Tables[0].Rows[i]["Value"].ToString();
list.Rows[i][1] = ds.Tables[0].Rows[i]["ID"].ToString();
}
checkedListBox1.DataSource = list;
checkedListBox1.DisplayMember = "Display";
checkedListBox1.ValueMember = "Id";
取得checkedListBox1勾選的值
newstring = "";
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if (checkedListBox1.GetItemCheckState(i) == CheckState.Checked)
{
checkedListBox1.SetSelected(i, true);
if (newstring== "")
{
newstring= checkedListBox1.SelectedValue.ToString();
}
else
{
newstring= newstring + "|" + checkedListBox1.SelectedValue.ToString();
}
}
}
勾選checkedListBox1的值
string[] gae = DS.Tables[0].Rows[0]["資料欄位"].ToString().Split('|');
string value;
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
foreach (string setting in gae)
{
DataRowView view = checkedListBox1.Items[i] as DataRowView;
value = view["ID"].ToString(); //編號
if (setting == value)
{
checkedListBox1.SetItemChecked(i, true);
}
}
}