将 DataGridView 列类型设置为在运行时下拉 (C#.net)

发布于 2024-12-10 18:55:36 字数 322 浏览 0 评论 0原文

我有一个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

怀念你的温柔 2024-12-17 18:55:36

您可以通过编程方式向 DataGridView 添加列。

在您的情况下,您需要做的是隐藏绑定到 DataTable 时生成的列 3,然后将 DataGridViewComboBoxColumn 添加到第三列名称为的网格它的 DataPropertyName 属性。

DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
col.DataPropertyName = "3";
dataGridView1.Columns.Add(col);

然后,您将一个数据源分配给该列,其中该数据源包含您想要在网格中显示的三个选项。

DataGridViewComboBoxColumn 还具有 ValueMemberDisplayMember 属性,允许您控制在网格数据源 (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 a DataGridViewComboBoxColumn to the grid which has column three's name as its DataPropertyName property.

DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
col.DataPropertyName = "3";
dataGridView1.Columns.Add(col);

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 has ValueMember and DisplayMember properties that allow you control what gets set in the grid datasource (ValueMember) and what is displayed.

计㈡愣 2024-12-17 18:55:36
   DataGridViewComboBoxCell cbo1 = new DataGridViewComboBoxCell();
   DataGridViewRow dataGridRow = new DataGridViewRow();
   dataGridRow.Cells.Add(cbo1);
   dataGridView1.Rows.Add(dataGridRow);

您创建一个 datagridview 组合框并将其添加到 datagridview1 中

   DataGridViewComboBoxCell cbo1 = new DataGridViewComboBoxCell();
   DataGridViewRow dataGridRow = new DataGridViewRow();
   dataGridRow.Cells.Add(cbo1);
   dataGridView1.Rows.Add(dataGridRow);

You create a datagridview combobox and add it in datagridview1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文