单击组合框值时 DataGridView 列标题更改
Posted
技术标签:
【中文标题】单击组合框值时 DataGridView 列标题更改【英文标题】:DataGridView Column Header change when combobox value is clicked 【发布时间】:2016-11-17 04:11:10 【问题描述】:我在 Windows 窗体应用程序中创建 DataGridView
和 combobox
时遇到问题。在单击combobox
值时,我需要帮助编写带有条件的代码,datagridview
列标题将根据选定的combobox
值进行调整。这是我想要的应用程序的示例图片:
wages is selected时的datagridview示例
sales is selected时的datagridview示例
感谢您的时间和帮助:D
【问题讨论】:
您是否有多个DataTable
或 List
对象要基于 ComboBox
的 SelectedItem
在 DataGridView
中显示?
【参考方案1】:
if (comboBox1.SelectedItem == "Wages")
dataGridView1.ColumnCount = 3;
dataGridView1.Columns[0].Name = "StoreLoc";
dataGridView1.Columns[1].Name = "Month";
dataGridView1.Columns[2].Name = "Value";
else if (comboBox1.SelectedItem == "Sales")
dataGridView1.ColumnCount = 3;
dataGridView1.Columns[0].Name = "StoreName";
dataGridView1.Columns[1].Name = "StoreType";
dataGridView1.Columns[2].Name = "Value";
【讨论】:
【参考方案2】:可以更改所有属性(如列标题等)。我在自己构建的应用程序中使用了它,但如果我再做一次,我会创建两个单独的网格视图,并根据组合框的选择使其中一个可见。
类似(伪代码):
void ComboBoxedValueChanged(...)
gridViewWages.IsVisible = (comboBoxValue == wages);
gridViewSales.IsVisible = (comboBoxValue == sales);
【讨论】:
您的解决方案也有效,但在我的情况下,我只需要一个网格视图。谢谢:)以上是关于单击组合框值时 DataGridView 列标题更改的主要内容,如果未能解决你的问题,请参考以下文章