私はDataGridViewComboBoxColumn
で、実際の値はIDに結びついていますが、DisplayMember
はルックアップテーブルの文字列です。私はその列で並べ替えると並べ替えがではなくDisplayMember
に基づいて行われるようにしています。私はこれがthis questionで対処されたことを知っていますが、答えは深くないし、理解もしませんでした。Column.DisplayMemberでDataGridViewを並べ替える
私は、このように試してみた何これまで
SortCompare
イベントへの結合が、それはデータバインドされた列に解雇されていません発見しました。ColumnHeaderMouseClick
イベントではなく、DataGridViewRowCollection
の行を手動でソートするのは読み取り専用で、データバインドされたコレクションにプログラムで行を挿入(スワップ)することはできません。- 非表示の
DataGridViewTextBoxColumn
を作成すると、元の列のDisplayMember
にセルが自動的に設定され、代わりにその列がソートされます。ただし、データバインドされたコレクションは、無制限の列に基づいてソートすることはできません。
編集:はさらに明確にする:私は、コンボボックス自体をソートしていない、コンボボックスのDisplayMember
に基づいて全体DataGridView
を整理しようとしています。
DisplayMember
のデータバインドDataGridViewComboBoxColumn
に基づいてDataGridView
をソートするにはどうすればよいですか?
テーブル自体を照会するときにソートできますか? SQLの仕事をするようにSQLに頼みますか? – nawfal
おそらく?私は使用しなければならないSQL文を知っていますが、DataGridViewで直接SQLを呼び出す方法がわかりません。 –
あなたはdgvをデータテーブルなどにバインドしていませんか?その場合、どのようにデータテーブルを作成していますか?私は基礎となるデータベースから値を得ていると思います。 – nawfal