1
我正在使用checklistboxes來顯示與表關聯的FieldNames(另一個清單框)。動態生成多個檢查列表框,並在檢查其中的任何項目時觸發事件「OnCheckListBoxItemCheck」。這裏檢查的當前項目是從對象'發件人'獲得的。疑問是,我如何將從動態清單框中檢查的項目與從clbtables檢查的項目關聯起來?請幫忙...如何鏈接兩個checklistbox項目?
private void clbTables_ItemCheck(object sender, ItemCheckEventArgs e)
{
int indexofselectedtable;
indexofselectedtable = Convert.ToInt32(clbTables.SelectedIndex);
Metadata metadataobj = new Metadata(dbProperties);
List<string> ColumnNames = new List<string>();
ColumnNames = metadataobj.GetColumns(clbTables.Items[indexofselectedtable].ToString());
chklistcolumns = new CheckedListBox();
//Adds to the Checked ListBox
for (int j = 0; j < ColumnNames.Count; j++)
{
chklistcolumns.Items.Add(ColumnNames.ElementAt(j).ToString());
}
this.Controls.Add(chklistcolumns);
//To fire event for a dynamically generated column checklistboxes
chklistcolumns.ItemCheck += new ItemCheckEventHandler(OnCheckListBoxItemCheck);
}
private void OnCheckListBoxItemCheck(object sender, ItemCheckEventArgs args)
{
Columns columnobj = new Columns();
columnobj.ColumnName = this.chklistcolumns.SelectedItem.ToString();
columnobj.TableName = this.clbTables.SelectedItem.ToString();
selectedColumnsList.Add(columnobj);
}
當檢查一個列表中的多個複選框時會發生什麼? – Bazzz
適用於多個複選框在一個列表中,因爲我使用this.chklistcolumns ...如何識別引發事件的對象的列名?我使用表的selecteditem重命名chklistcolumns。有沒有辦法從對象發件人那裏獲取? – NewBie
'Control cnt =((CheckBox)sender).Parent'? – Achilleterzo