将 DataGridView 列类型设置为在运行时下拉 (C#.net)
我有一个 datagridview,其数据源设置为数据视图 ->数据表和行&列是在运行时自动生成的。
dtable.Columns.Add("1", typeof(int));
dtable.Columns.Add("2", typeof(string));
dtable.Columns.Add("3", typeof(string));
datagridview1.DataSource = dtable;
我希望第 3 列是下拉类型,并且其中有 3 个选项。我如何在运行时执行此操作,因为我仅在运行时填充网格。
I have a datagridview its datasource is set to a data view -> data table and rows & columns are auto generated at run time.
dtable.Columns.Add("1", typeof(int));
dtable.Columns.Add("2", typeof(string));
dtable.Columns.Add("3", typeof(string));
datagridview1.DataSource = dtable;
I want column 3 to be a drop down type and have 3 options in it. How do I do that at run time as I only populate the grid at run time.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以通过编程方式向
DataGridView
添加列。在您的情况下,您需要做的是隐藏绑定到
DataTable
时生成的列 3,然后将DataGridViewComboBoxColumn
添加到第三列名称为的网格它的 DataPropertyName 属性。然后,您将一个数据源分配给该列,其中该数据源包含您想要在网格中显示的三个选项。
DataGridViewComboBoxColumn
还具有ValueMember
和DisplayMember
属性,允许您控制在网格数据源 (ValueMember
) 中设置的内容以及显示的内容。You can add columns to a
DataGridView
programatically.In your situation what you need to do is hide the column 3 that is generated when you bind to the
DataTable
and then add aDataGridViewComboBoxColumn
to the grid which has column three's name as itsDataPropertyName
property.You then assign a datasource to this column where that datasource holds the three options you want to appear in the grid.
The
DataGridViewComboBoxColumn
also hasValueMember
andDisplayMember
properties that allow you control what gets set in the grid datasource (ValueMember
) and what is displayed.您创建一个 datagridview 组合框并将其添加到 datagridview1 中
You create a datagridview combobox and add it in datagridview1