【问题标题】:Add values from CheckBoxes to a specific column of a DataGridView将 CheckBox 中的值添加到 DataGridView 的特定列
【发布时间】:2019-07-30 09:19:54
【问题描述】:

我有一个名为Patient Complaints 的表单。我创建了一些投诉复选框并添加了一个按钮。此外,我还按所有投诉的名称向 DataGridView 添加了列。

当用户使用 CheckBoxes 检查投诉然后单击按钮时,我需要做什么,这些值应插入 DataGridView 的特定列中。

例如,如果用户检查了三个投诉,如SmokingChest PainFatigue,则这三个值应作为一行添加到其特定列中,如Smoking 将添加到@987654326 @、Chest Pain 将作为单行添加到“ChestPainColumn”列等等。

有什么办法吗?

我之前尝试过这种方式向 DataGridView 添加新行:

  this.dgViewPComplaints.Rows.Add("Value1", "Value2", "Value3");

但当时我在所有列中插入值,现在我只需要在特定列中插入值。

【问题讨论】:

  • DataRow newRow = this.dgViewPComplaints.Rows.Add(); newRow["吸烟"] = "Value1"; newRow["胸痛"] = "Value2"; newRow["疲劳"] = "Value3";
  • 无法将类型“int”隐式转换为“system.data.datarow”。此错误出现在“this.dgViewPComplaints.Rows.Add();”上这条线。有什么解决办法?
  • 如果您的 DGV 的 DataSource 仅包含这些 投诉,您可以使用 List<Complaint> 作为 DGV 的 DataSource,其中 Complaint 是一个类对象。您可以将其属性与每个 Column 的 DataPropertyName 关联。使用 CheckBoxes 将相应的类属性设置为真/假。单击 Button 时,将新的 Complaint 类对象添加到 List<Complaint>。将 GDV 和类对象设置为您需要的任何输出(例如,Yes/No、Color.Red/Color.Green 等)。
  • @Jimi 我的 DataGridView 没有任何数据源。它只是一个数据网格,我在其中以编程方式添加行。
  • 是的,但重点是:您的 DGV 中是否只有这些 CheckBox 定义的值?如果是,我的建议很容易设置、处理和维护。试一试。

标签: c# winforms datagridview


【解决方案1】:

如何添加每个 CheckBox 列。例如:

DataGGridViewCheckBoxColumn dgvCmb = new DataGGridViewCheckBoxColumn();  
dgvCmb.ValueType = typeof(bool);  
dgvCmb.Name = "Chk1";  
dgvCmb.HeaderText = "Smoking";  
dgViewPComplaints.Columns.Add(dgvCmb); 

【讨论】:

  • 我没有要求在datagridview中添加复选框列。即将从复选框中添加值到 datagridview 的特定列。
猜你喜欢
  • 2015-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-04
相关资源
最近更新 更多