グリッドビューがあり、各行のデータ型に基づいて、テキスト ボックスまたはリスト ボックスを表示したいと考えています。
グリッドビューの各行のデータ型に基づいてリストボックスまたはテキストボックスを表示するにはどうすればよいですか?
Obs* 私は devexpress コントロールを使用しているので、Windows フォームの標準コントロールまたは devexpress スイートの両方の回答を受け入れます。
全てに感謝。
グリッドビューがあり、各行のデータ型に基づいて、テキスト ボックスまたはリスト ボックスを表示したいと考えています。
グリッドビューの各行のデータ型に基づいてリストボックスまたはテキストボックスを表示するにはどうすればよいですか?
Obs* 私は devexpress コントロールを使用しているので、Windows フォームの標準コントロールまたは devexpress スイートの両方の回答を受け入れます。
全てに感謝。
Designer の組み込みイベント (ShowingEditor など) の 1 つを利用して、イベントの引数から行のハンドルを取得することで行のタイプを確認できます。次に、ここでタイプが何であるかを把握し、Listbox または Textbox の新しいインスタンスを作成できます。ここでドキュメントの詳細を読むことができます:
Dev Express ShowingEditor イベント ドキュメント
コードでこれを行いたい場合は、ビューを初期化した後、グリッドビューを取得して次のようなことを行うことができます (C# の場合):
this.myGridView.ShowingEditor += (sender, args) =>
{
var gridView = sender as GridView;
if(null != gridView)
{
var currentRowHandle = gridView.FocusedRowHandle;
var currentType = gridView.Rows[currentRowHandle].GetType();
if(currentType == typeof(TypeA))
{
//Make a ListBox
}
if(currentType == typeof(TypeB))
{
//Make a TextBox
}
}
}
明らかに、ここにはさらに多くのコードを記述する必要がありますが、これで作業を開始できると思います。
スタイルを使用できます。ここにいくつかの例を含む記事があります。楽しんでいただければ幸いです。