UltraWebGridにおけるドロップダウンリストの簡単な設定
InfragisticsのUltraWebGrid
を使用していて、列の1つにドロップダウンリストを実装する際に困難に直面している場合、あなたは一人ではありません。多くの開発者が、サードパーティーのグリッドコンポーネントを使用する際の複雑さに起因する同様の課題に直面しています。公式のドキュメントがあまり役に立たない場合でも、このガイドはあなたの道を明確にし、グリッド列にドロップダウンリストを正しく実装する力を与えることを目的としています。
問題の理解
ドロップダウンリストを設定しようとした場合、ドロップダウンが期待する値を表示しないことがあります。以下のようなコードがあるかもしれません:
col.Type = ColumnType.DropDownList;
col.DataType = "System.String";
col.ValueList = myValueList;
そして、myValueList
は次のように構築した可能性があります:
ValueList myValueList = new ValueList();
myValueList.Prompt = "私のテキストプロンプト";
myValueList.DisplayStyle = ValueListDisplayStyle.DisplayText;
foreach(MyObjectType item in MyObjectTypeCollection)
{
myValueList.ValueItems.Add(item.ID, item.Text); // IDは文字列です(私の設計ではありません)
}
しかし、ページ上にレンダリングされると、列のセルが空のように見えます。何が問題なのでしょうか?
解決策: 列の更新を許可する
問題はしばしば一つのシンプルで重要な詳細に帰着します: 列は更新を許可する必要があります。更新が許可されていない場合、UltraWebGrid
はドロップダウンリストを適切にレンダリングしません。
列の更新を有効にする方法:
特定の列のAllowUpdate
プロパティをYes
に設定する必要があります。次の1行のコードで設定できます:
uwgMyGrid.Columns.FromKey("colTest").AllowUpdate = AllowUpdate.Yes;
全体をまとめる
ドロップダウンリストが正しく表示されるようにするために、次の手順を実行してください:
- ドロップダウン列を定義する: これまでに行ったように。
- ValueListを設定する:
myValueList
を使って行ったように。 - 更新を有効にする: 列の設定に
AllowUpdate
を追加することを確認してください。
コードの例
こちらが統合された例です:
// 列を設定
col.Type = ColumnType.DropDownList;
col.DataType = "System.String";
col.ValueList = myValueList;
// 列の更新を許可する
uwgMyGrid.Columns.FromKey("colTest").AllowUpdate = AllowUpdate.Yes;
// ValueListを作成
ValueList myValueList = new ValueList();
myValueList.Prompt = "私のテキストプロンプト";
myValueList.DisplayStyle = ValueListDisplayStyle.DisplayText;
foreach(MyObjectType item in MyObjectTypeCollection)
{
myValueList.ValueItems.Add(item.ID, item.Text);
}
結論
UltraWebGrid
にドロップダウンリストを実装することは、やや厄介な作業ですが、このチェックリストとコードの例を使えば、課題を克服できるはずです。常に列の更新が有効になっていることを確認することを忘れないでください—しばしば小さなことが大きな違いを生み出します!
このアプローチを使用すると、グリッドセルに希望のドロップダウンリストが表示されるはずです。さらなる問題が発生した場合は、グリッドと列のプロパティを再確認することで、残っている問題を解決できるかもしれません。