我想在 datagridview 中检索数据表的所有数据。

dataGridView1.DataSource = dataTable1;

好的,那真的很简单,但问题是,并非所有列都已创建。 所有外键列都丢失了。 这似乎是默认行为。 我不想关闭 AutoGenerateColumns-property 并手动创建列。

有没有一种简单的方法可以在 datagridview 中生成真正的所有列?

#1楼 票数:0

我找到了一个适合我的解决方案......

负责行为的是列的列映射属性。 将其从MappingType.Hidden切换到MappingType.Element可防止内部列生成算法过滤出该列。

List<DataColumn> ldc_recover = new List<DataColumn>(); 

foreach (DataColumn dataColumn in dataTable1.Columns)
{
    if (dataColumn.ColumnMapping == MappingType.Hidden)
    {
        dataColumn.ColumnMapping = MappingType.Element;
        ldc_recover.Add(dataColumn);
    }
}

// Fill the datagridview with data from datatable
dataGridView1.DataSource = dataTable1;

// Restore the previous columnmapping-property
foreach (DataColumn dc_enum in ldc_recover)
{
    dc_enum.ColumnMapping = MappingType.Hidden;
}

  ask by JimboJones translate from so

未解决问题?本站智能推荐:

1回复

DataGridView中的外键组合框

我有一个包含两个表,产品和许可证的数据库。 Licences.ProductID具有对Products.ProductID的外键引用(即该产品的许可证)。 如何在WinForms DataGridView中表示该关系? 在向DataGridView(SQL Metal和通过LINQ t
1回复

DataGridView不加强外键约束

我正在尝试开发业务应用程序,但是我遇到了一些问题。 我有一个使用数据库作为其源的DBDataSet 。 我正在使用VS,通过从数据源窗口拖动到表单上来自动生成DataGridView。 我有两张桌子。 Customer与Sales 。 它们与Customer的Sales Refe
1回复

按下Tab键时如何跳过datagridview中的列

按下Tab键 / 箭头键时,是否可以跳过某些列? 假设我有三列( col1 , col2 , col3 )。 假设我在col1 ,那么在按Tab键时我想跳过col2 。 我怎样才能做到这一点?
1回复

使用外键将父表中的值绑定到DataGridView的文本框中

我有一个DataGridView ,其中列出了在数据库中找到的所有用户。 现在,每个用户都有其类型。 因此,当涉及到较低级别时,用户表具有一个名为user_type_id的外键列,该外键列指向user_type表(在其中代表主键)。 另外,我实现了双向绑定,并且在同一窗口的表单上具有组合
1回复

datagridview中的外键数据绑定-具有多行的组合框

我是开发软件的新手,需要一些帮助。 我正在创建一个具有 DataGridView 的 WinForm。 DataGridView 显示包含 FromPortID 和 ToPortID 的表 Schedule。 这两个字段的值应与相关表 PortCode 中的外键匹配。 PortCode 表有 P
3回复

在DataGridView中拖放多列

我有一个带有 DataGridView 的程序,我的用户希望能够在其中拖放多个列。 拖放单个列很容易,这是内置行为。 但是我找不到任何允许选择多个(相邻)列然后将它们拖到另一个列索引的设置。 有这个设置吗? 如果没有,以前有没有人做过这件事和/或怎么做? (我曾尝试在 Google 上进行广泛的搜
4回复

比较datagridview中的2个不同的列

在我的datagridview ,第1列和第2列是只读的,第3列和第4列具有数字值。 我想比较一下,第4列必须大于第3列。 例如: 如果第4列的值小于第3列,则我想建议消息不导航到另一个控件。 我的简单方法似乎不起作用。 如何比较这种情况的2个特定列?
2回复

如何从DataGridView中删除“列-1”?

我正在动态创建DGV的columns和行,然后使用适当的值填充cells 。 即使当前内容对于DataGridView来说太大(我将ScrollBars设置为None ),我的第一列还是向右偏移,在该column 0 column有一个黑色条纹。 什么属性可以删除此入侵者?