You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置C# DataGridViewTextBoxColumn的值?复杂DataGridView场景求助

给DataGridViewTextBoxColumn设置值的解决方案

嘿,我看你已经搭好了DataGridView的基础配置,现在要搞定给DataGridViewTextBoxColumn设置值的问题对吧?其实核心思路就是通过绑定的DataTable来传递数据,因为你已经把列和DataTable的字段做了映射(DataPropertyName),我给你一步步理清楚:

关键前提确认

你代码里已经做了最关键的一步:把DataGridViewTextBoxColumn的DataPropertyName和DataTable的列名对应起来(date.DataPropertyName = "date"),这是数据能正确显示的基础,没问题。

完整实现步骤&代码示例

我把你的代码补全并标注重点:

// 初始化DataTable
DataTable dt = new DataTable();
dataGridViewFood.AutoGenerateColumns = false;

// 给DataTable添加列,注意列名要和后续DataGridView列的DataPropertyName对应
dt.Columns.Add("date", typeof(string));
dt.Columns.Add("food", typeof(int));

// 配置日期列(DataGridViewTextBoxColumn)
DataGridViewTextBoxColumn dateColumn = new DataGridViewTextBoxColumn();
dateColumn.HeaderText = "日期"; // 表头显示的文字
dateColumn.DataPropertyName = "date"; // 绑定到DataTable的"date"列
dataGridViewFood.Columns.Add(dateColumn);

// 配置下拉选列(你的原有代码,这里补全)
DataGridViewComboBoxColumn foodColumn = new DataGridViewComboBoxColumn();
var foodList = new List<string>() { "早餐", "午餐", "晚餐" };
foodColumn.DataSource = foodList;
foodColumn.HeaderText = "餐食类型";
// 注意:你的food列是int类型,这里DataPropertyName绑定后,会对应下拉列表的索引值
foodColumn.DataPropertyName = "food";
dataGridViewFood.Columns.Add(foodColumn);

// --------------------------
// 重点:给DataGridViewTextBoxColumn设置值的核心操作
// 往DataTable里添加行数据,对应列的值会自动显示在DataGridView中
dt.Rows.Add("2024-05-20", 0); // 第一行日期为2024-05-20,餐食对应下拉列表第1项
dt.Rows.Add("2024-05-21", 1); // 第二行日期为2024-05-21,餐食对应下拉列表第2项

// 动态修改某一行的日期值(比如修改第一行)
dt.Rows[0]["date"] = "2024-05-22";

// 最后把DataTable绑定到DataGridView
dataGridViewFood.DataSource = dt;

注意事项

  • 不要直接修改DataGridView的单元格值(比如dataGridViewFood.Rows[0].Cells[0].Value = "xxx"),虽然能生效,但不符合数据绑定的最佳实践,维护起来麻烦。优先通过修改DataTable来同步界面。
  • 确保DataPropertyName和DataTable的列名完全一致(大小写敏感),否则数据无法映射。
  • 如果你的DataTable是动态更新的,一般直接修改DataTable后界面会自动同步;如果遇到不刷新的情况,可以调用dataGridViewFood.Refresh()强制更新。

内容的提问来源于stack exchange,提问作者Gregori

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:11:44