vb.netを使用したインフラジスティックウルトラグリッドで問題が発生しています。現在、値が「inner」のセルがありますが、値を失うことなく、そのセルに対して完全に異なる文字列を表示できるようにしたいと考えています。セルには、値プロパティとテキストプロパティの2つのプロパティがあることを理解しています。textプロパティは読み取り専用であるため、新しい文字列を単純に割り当てることはできません。どんな提案も素晴らしいでしょう!
どうもありがとう、アデム
vb.netを使用したインフラジスティックウルトラグリッドで問題が発生しています。現在、値が「inner」のセルがありますが、値を失うことなく、そのセルに対して完全に異なる文字列を表示できるようにしたいと考えています。セルには、値プロパティとテキストプロパティの2つのプロパティがあることを理解しています。textプロパティは読み取り専用であるため、新しい文字列を単純に割り当てることはできません。どんな提案も素晴らしいでしょう!
どうもありがとう、アデム
実装によっては、これを行うためにValueListを使用する必要がある場合があります。
UltraGridCell.Textプロパティのドキュメントに記載されているように:
セルのTextプロパティには、Valueプロパティとは異なるものを含めることはできません。テキストを設定すると、Valueプロパティにすでにあるものがすべて上書きされます。型付きオブジェクトを設定できるように、Valueプロパティを直接設定することをお勧めします。
表示されるテキストを列の値とは異なるものにする必要がある場合は、テキストと値のペアのリストを含む列にUltraGridColumn.ValueListを追加できます。列を編集可能にしたくない場合でも、ValueListを使用してこれを行うことができます。
これを処理する方法は他にもありますが、シナリオによって異なります。たとえば、実行時にテキストと値の組み合わせを変更できない場合は、表示された「テキスト」に対応する「値」を保持する非表示の列をグリッドに追加する方が適切な場合があります。
一方、シナリオでユーザーがアイテムのリストから選択できる必要があり、選択したアイテムの関連する値を取得したい場合は、ValueListが最適です。この投稿では、UltraGridColumnをValueListにバインドする方法の簡単な例を示します。