如何判断datagridview列是图像还是复选框列?

时间:2013-02-05 01:15:26

标签: c# types datagridview detection

我正在尝试创建一个自定义函数,将datagridview的内容保存到文件中。我这样做而不是序列化,因为我的自定义函数被设计为尽可能简单快速地实现以保存和加载winform的状态,并且每次我想要序列化对象时创建自定义类都不那么容易和快速尽可能。

为此,我需要以编程方式检测datagridview中的哪些列是图像列或复选框列,以便我知道在加载时如何正确处理它们。我在网上看了一下,似乎没有其他人提到它(据我的谷歌搜索建议),但我绝对相信有一些方法可以告诉我某些细胞/柱是什么样的细胞/列是。有谁知道吗?

4 个答案:

答案 0 :(得分:1)

你可以这样做 -

        foreach (var col in dataGridView1.Columns)
        {
            if (col is DataGridViewImageColumn)
            {
                // Image Column
            }

            if (col is DataGridViewCheckBoxColumn)
            {
                // CheckBox Column
            }
        }

答案 1 :(得分:1)

foreach (DataGridViewRow dr in dataGridView1.Rows) {
  foreach (DataGridViewCell dc in dr.Cells) {
    if (dc.GetType() == typeof(DataGridViewImageCell)) {

    }
  }
}

这应该有用......包括细胞!!!

答案 2 :(得分:0)

这是我正在使用的:

Dim colType As Type = DataGridView1.Columns(0).GetType
If colType.Name = "DataGridViewImageColumn" Then
'code for image column type
End If

现金: Link to VB forums

答案 3 :(得分:0)

这应该有用。

empty