📅  最后修改于: 2023-12-03 15:29:46.122000             🧑  作者: Mango
在 C# 中,我们可以使用 DataGridView 控件和 ComboBox 控件来实现对数据的绑定和选择。有时,我们需要在程序运行过程中动态地更改 DataGridView 中 ComboBox 的选定项。本篇文章将介绍如何在 C# 中实现此功能。
首先,我们需要设置 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 的选定项,可以使用以下代码:
DataGridViewComboBoxCell comboBoxCell = dataGridView1.Rows[rowIndex].Cells[columnIndex] as DataGridViewComboBoxCell;
string selectedValue = comboBoxCell?.Value?.ToString();
这里我们获取了 DataGridView 中指定单元格的 ComboBox 对象,如果该单元格存在且 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 控件和一个按钮,点击按钮后会弹出当前选定项的对话框,并将选定项修改为指定的值。当然,根据实际需求,我们可以在其他地方进行选定项的修改。