-1

グリッドビューがあり、各行のデータ型に基づいて、テキスト ボックスまたはリスト ボックスを表示したいと考えています。

グリッドビューの各行のデータ型に基づいてリストボックスまたはテキストボックスを表示するにはどうすればよいですか?

Obs* 私は devexpress コントロールを使用しているので、Windows フォームの標準コントロールまたは devexpress スイートの両方の回答を受け入れます。

全てに感謝。

4

3 に答える 3

0

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
        }
    }
}

明らかに、ここにはさらに多くのコードを記述する必要がありますが、これで作業を開始できると思います。

于 2013-10-22T00:37:15.870 に答える
-1

スタイルを使用できます。ここにいくつかの例を含む記事があります。楽しんでいただければ幸いです。

于 2013-10-21T16:19:01.453 に答える