1

datagridview を column2 (使用した列の名前) で並べ替えているときに問題が発生しました

列に日時型の値を使用しましたが、次のコマンドを使用してグリッド (conv_msg_grid という名前) を並べ替えたいと思います

conv_msg_grid.Sort(Column2, System.ComponentModel.ListSortDirection.Ascending)

しかし、「オブジェクトは文字列型でなければなりません」というエラーが表示されます。

何が悪いの???

私を助けてください.....

4

2 に答える 2

1

テーブルに一貫性のないデータ型があるようです。最初の項目は文字列型ですが、日付型のものもあります。したがって、ソートしようとして、文字列ではないものにヒットすると、このエラーが発生します。

それを解決するには、2 つのオプションがあります。

  1. 並べ替える前に、すべてを日時 (または文字列) の値に変換します。(ユーザーが日付を追加できる場合は、これがより適切な選択です)

  2. データを DatagridView に挿入するときは、すべての値が DateTime (または文字列) であることを確認してください。(ユーザーが日付を入力できない場合は、これを選択することをお勧めします)

(または文字列) オプションを実行するには、単に convert.ToDateTime を削除し、値に対して ToString を実行します。

Dim Column2 As DataGridViewColumn = DataGridView1.Columns(0)
For Each r As DataGridViewRow In DataGridView1.Rows
    r.Cells(Column2.Index).Value = Convert.ToDateTime(r.Cells(Column2.Index).Value)
Next
于 2013-03-11T07:02:02.003 に答える
0

conv_msg_grid.Sort(conv_msg_grid.columns(2), System.ComponentModel.ListSortDirection.Ascending)

カルンチェ

于 2013-07-24T08:36:06.233 に答える