1

私は古典に遭遇しています以下のC#の問題でバインドを使用することはできません。双方向バインディングが必要なため、evalを使用できません。このテキストボックスは、radグリッド編集フォーム内にあります。

      <asp:TextBox ID="tbxTotalDepth" runat="server"
      Text='<%# (((GridEditFormItem)Container).DataItem is MS_Wells) 
      ? Bind("TotalDepth") : "" %>'  MaxLength="200"></asp:TextBox>

繰り返しますが、私は上記を使用できないことを知っています、そしてバインドが何であるかのためにそれを知っています。しかし、私は何かをしなければなりません。これが私のユースケースです:

Table per Type構造を使用しており、基本タイプのマスターリストに1つのグリッドが必要です。基本クラスで作業しているクラッドがありますが、派生フィールドのいずれかでデータバインディングを実行できません。具体的には、タイプがMS_Wellの場合、バインドは正常に機能し、列が存在しないためにそのタイプでない場合は、グリッドがクラッシュします。バックエンドでそれを実行できることはわかっていますが、派生タイプごとに10〜15列になると、面倒になります。

私はいくつかのオプションを考えましたが、最もクリーンなもの、またはこれらのいずれかを実際に行う方法がわかりません。1.作成後に新しいeditformtemplateをロードし、基本的に「派生詳細」の新しいコマンド列を作成します。2.問題のあるコントロールが正しいタイプでない場合、それらを初期化から削除する関数を記述します。3.他の形式の条件付きバインディング?

テキストボックスを見ると、データ項目がMS-Wellでない場合はまったく必要ありませんが、表示されて有効になっている= falseでも、バインドの試行は停止されません。

4

0 に答える 0