c# - 如何获取datagridview组合框列的选定值?
问题描述
我有一个带有图像标签列表和保存按钮的组合框。在保存按钮上,我需要在保存按钮上获取组合框选择的值,如果它为空,然后验证。我怎么能做到这一点?
这就是我在 datagridview 中添加组合框的方式:
string[] ImageLabels = {Photograph, PassportPage1, PassportPage2,
PassportPage3, PassportPage4};
var list=new ArrayList();
var combo = new DataGridViewComboBoxColumn();
combo.HeaderText = "Image Labels";
combo.Name = "combo";
list = new ArrayList();
list.AddRange(ImageLabels);
combo.Items.AddRange(list.ToArray());
dgvFiles.Columns.Add(combo);
我得到空值。
解决方案
为您添加以下事件datagridview
这里我的datagridview名称是dataGridView1
private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
string comboboxSelectedValue = string.Empty;
if (dataGridView1.Columns[e.ColumnIndex].GetType() == typeof(DataGridViewComboBoxColumn))
comboboxSelectedValue = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
}
1) dataGridView1_CurrentCellDirtyStateChanged:在您dataGridView1_CellValueChanged
从DataGridViewComboBoxColumn
.
2)dataGridView1_CellValueChanged:此事件将为您提供您在combobx中选择的选项的值,我们还检查了这些值是否来自DataGridViewComboBoxColumn
。
Form1_Load
您可以在喜欢的地方添加上述事件
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.CellValueChanged +=
new DataGridViewCellEventHandler(dataGridView1_CellValueChanged);
dataGridView1.CurrentCellDirtyStateChanged +=
new EventHandler(dataGridView1_CurrentCellDirtyStateChanged);
}
输出:
推荐阅读
- jquery - jQuery 的开始标签之间的区别以及它如何影响代码
- azure - 如何保护 Azure Devops 存储库中的纯密码文件。没有这些选项(Azure Vault、Azure 安全文件和 hashvault)
- xaml - 无法将作为 IsVisible 和 BindingContext 的文本条目绑定到开关
- android-studio - 如何在 Android Studio 中制作步进进度组件
- winapi - 在可访问性挂钩中使用 GetWindowTextLengthW 时句柄无效
- google-bigquery - 缺少可在 Google Ads 平台中查看但未显示 Big Query 的过去历史数据
- html - 如何编写可以遍历所有嵌套数据并在 HTML 中显示嵌套列表的可重用模板
- python - Android 的 Buildozer 构建失败并出现“操作系统错误:[Errno 套接字错误] [SSL:CERTIFICATE_VERIFY_FAILED]
- java - java.util.ConcurrentModificationException: null 试图删除一行
- python - Flask-Migrate,SQLITE3:尝试更改列以使“默认 = False”。ERROR = SQL: ALTER TABLE 用户 ALTER COLUMN 确认 SET NOT NULL