有些东西让我讨厌,但我不知道如何解决它。这是代码:
public static void FillComboBox(ComboBox cb, DataTable dt)
{
cb.Items.Clear();
foreach (DataRow row in dt.Rows)
{
cb.Items.Add(row[0].ToString());
}
}
public static void FillComboBoxColumn(DataGridViewComboBoxColumn col, DataTable dt)
{
col.Items.Clear();
foreach(DataRow row in dt.Rows)
{
col.Items.Add(row[0].ToString());
}
}
这是相同的代码,但有两个不同的对象作为ComboBox。我无法看到如何对其进行分解,这可能非常简单。你能给我一个优势吗?
谢谢
答案 0 :(得分:4)
public static void FillCollection(IList collection, DataTable dt)
{
collection.Clear();
foreach (DataRow row in dt.Rows)
{
collection.Add(row[0].ToString());
}
}
public static void FillComboBox(ComboBox cb, DataTable dt)
{
FillCollection( cb.Items, dt );
}
public static void FillComboBoxColumn(DataGridViewComboBoxColumn col, DataTable dt)
{
FillCollection( col.Items, dt );
}
答案 1 :(得分:0)
您还可以为自己的实现覆盖ComboBox和DataGridViewComboBoxColumn。发布但喜欢Sir Rufo的答案更好。但是如果你想添加更多的自定义代码,这是一种方法。
{{1}}