【发布时间】:2021-08-02 12:41:23
【问题描述】:
我们有绑定到对象的datagridview(提琴手核心) 现在这个对象作为 disctionart oflags 我们无法将 oflag 绑定到 datagridView 但能够绑定其他字段。我们在 C# 中使用 datagridview,它具有请求 id、url 和 oflag[“Deviation”] 值 能否请您发送任何可用于绑定Oflags的示例代码
dataGridView1.Columns[0].Name = "id";
dataGridView1.Columns[0].HeaderText = "id";
dataGridView1.Columns[0].DataPropertyName = "id";
dataGridView1.Columns[1].Name = "fullUrl";
dataGridView1.Columns[1].HeaderText = "fullUrl";
dataGridView1.Columns[1].DataPropertyName = "fullUrl";
dataGridView1.Columns[2].Name = "LocalProcess";
dataGridView1.Columns[2].HeaderText = "LocalProcess";
dataGridView1.Columns[2].DataPropertyName = "LocalProcess";
dataGridView1.Columns[3].Name = "oFlags";
dataGridView1.Columns[3].HeaderText = "oFlags";
**dataGridView1.Columns[3].DataPropertyName = "oFlags[Deviation]";**
【问题讨论】:
-
这能回答你的问题吗? DataGrid Column Binding with Dictionary
-
如果您有一个对象“集合”,并且您将
DataGridView.DataSource设置为此对象集合,则该对象的每个公开公开的属性都将转换为网格中的一列。这适用于原始和单值属性,但是,如果对象的公开公开属性之一是另一个类或“集合”(如字典),那么这些属性将不会生成列,因为这些属性是“集合”并且网格不够智能,无法将集合扁平化为单个值以显示在单个单元格中。 -
基本上网格不知道如何将“多个”项目放入单个单元格中。一种可能的解决方案是在对象中创建另一个属性,该属性返回集合的扁平化版本。然后网格将自动为该属性创建一个列。另一种解决方案是创建具有两个网格的主从方案。第一个网格显示每行中的对象,另一个网格将显示第一个网格中所选对象的
oFlags(主从)。抱歉,如果我遗漏了什么。
标签: c# winforms datagridview