📜  c# programiticall 更改数据绑定datagridview组合框的选定索引 - C# (1)

📅  最后修改于: 2023-12-03 15:29:46.122000             🧑  作者: Mango

C# Programmatically 更改数据绑定 DataGridView 组合框的选定索引

在 C# 中,我们可以使用 DataGridView 控件和 ComboBox 控件来实现对数据的绑定和选择。有时,我们需要在程序运行过程中动态地更改 DataGridView 中 ComboBox 的选定项。本篇文章将介绍如何在 C# 中实现此功能。

设置 DataGridView 中 ComboBox 的数据源

首先,我们需要设置 DataGridView 中 ComboBox 的数据源。假设我们已经在 DataGridView 中创建了一个 ComboBox 列,现在需要将 ComboBox 绑定到一些数据,比如一个字符串数组。代码如下:

string[] items = { "Item 1", "Item 2", "Item 3" };
DataGridViewComboBoxColumn comboBoxColumn = dataGridView1.Columns[0] as DataGridViewComboBoxColumn;
comboBoxColumn.DataSource = items;

这里我们获取了 DataGridView 中的 ComboBox 列,将其 DataSource 设置为一个字符串数组。

获取 DataGridView 中 ComboBox 的选定项

要获取 DataGridView 中 ComboBox 的选定项,可以使用以下代码:

DataGridViewComboBoxCell comboBoxCell = dataGridView1.Rows[rowIndex].Cells[columnIndex] as DataGridViewComboBoxCell;
string selectedValue = comboBoxCell?.Value?.ToString();

这里我们获取了 DataGridView 中指定单元格的 ComboBox 对象,如果该单元格存在且 ComboBox 已选择了某个项,则将该项的值作为选定结果返回。

修改 DataGridView 中 ComboBox 的选定项

要修改 DataGridView 中 ComboBox 的选定项,可以使用以下代码:

DataGridViewComboBoxCell comboBoxCell = dataGridView1.Rows[rowIndex].Cells[columnIndex] as DataGridViewComboBoxCell;
comboBoxCell.Value = "New Item";

这里我们获取了 DataGridView 中指定单元格的 ComboBox 对象,并将其 Value 属性设置为新的选定项。

完整代码示例

下面是一个完整的示例,演示了如何在 C# 中动态更改 DataGridView 中 ComboBox 的选定项:

using System;
using System.Windows.Forms;

namespace DataGridViewComboBoxDemo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            // 设置 DataGridView 中 ComboBox 的数据源
            string[] items = { "Item 1", "Item 2", "Item 3" };
            DataGridViewComboBoxColumn comboBoxColumn = dataGridView1.Columns[0] as DataGridViewComboBoxColumn;
            comboBoxColumn.DataSource = items;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // 获取第一行第一列单元格的 ComboBox 的选定项
            DataGridViewComboBoxCell comboBoxCell = dataGridView1.Rows[0].Cells[0] as DataGridViewComboBoxCell;
            string selectedValue = comboBoxCell?.Value?.ToString();
            MessageBox.Show($"Selected Value: {selectedValue}");

            // 修改第一行第一列单元格的 ComboBox 的选定项
            comboBoxCell.Value = "New Item";
        }
    }
}

这里我们在一个窗体中创建了一个 DataGridView 控件和一个按钮,点击按钮后会弹出当前选定项的对话框,并将选定项修改为指定的值。当然,根据实际需求,我们可以在其他地方进行选定项的修改。