這東西真是奇怪元件

一般後端會遇到的顯示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);
}

}
}

arrow
arrow
    全站熱搜

    貓小佑 發表在 痞客邦 留言(0) 人氣()