3

datagridview の内容をファイルに保存するカスタム関数を作成しようとしています。カスタム関数は、winform の状態を保存およびロードするためにできるだけ簡単かつ迅速に実装できるように設計されており、オブジェクトをシリアル化するたびにカスタム クラスを作成するのは簡単で迅速ではないため、シリアル化の代わりにこれを行っています。できるだけ。

これを行うには、datagridview 内のどの列がイメージ列またはチェックボックス列であるかをプログラムで検出する必要があるため、ロード時にそれらを適切に処理する方法がわかります。私はオンラインで調べましたが、それについて言及した人はまだ誰もいないようです (私の Google 検索が示唆する限り) が、セル/列の種類を特定する方法があることは間違いありません。 /列は。誰か知っていますか?

4

6 に答える 6

2

あなたはこのようなことをすることができます -

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

            if (col is DataGridViewCheckBoxColumn)
            {
                // CheckBox Column
            }
        }
于 2013-02-05T01:25:53.557 に答える
1
foreach (DataGridViewRow dr in dataGridView1.Rows) {
  foreach (DataGridViewCell dc in dr.Cells) {
    if (dc.GetType() == typeof(DataGridViewImageCell)) {

    }
  }
}

これは機能するはずです...セルを含めて!!!

于 2013-02-05T01:26:54.610 に答える
1

タイプと比較するだけです:

        DataGridView dgv = new DataGridView();

        foreach (DataGridViewColumn col in dgv.Columns)
        {
            if (col.GetType() == typeof(DataGridViewCheckBoxColumn))
            {
                // do something
            }
            else if (col.GetType() == typeof(DataGridViewImageColumn))
            {
                // do something else
            }
        }
于 2021-08-26T17:06:50.063 に答える
0

これは私が使用しているものです:

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

クレジット: VB フォーラムへのリンク

于 2014-02-10T08:29:35.607 に答える