3

私はTelerikのRadGridを持っています。これには次のような2つの列があります。

<Columns>
 <telerik:GridBoundColumn HeaderText="AirlineCode" UniqueName="AirlineCode" DataField="airlineCode" />
 <telerik:GridBoundColumn HeaderText="FlightNumber " EditFormColumnIndex="1" DataField="flightNumber" />
 ... 
 ... 
 ... more code, but unrelevant to the question here.
</Columns>

関連するNeedDataSource()関数の両方の列のデータを提供しています。

したがって、次のように正しくレンダリングされます。

 | AirlineCode      |      FlightNumber   | 
 ------------------------------------------
 | Delta            |      2393           | 
 | Southwest        |      345            | 

しかし今、私の要件は少し変わりました。

表示するために、それらをマージして、次のように表示します。

 |     Flight             |
 --------------------------
 |     Delta-2393         | 
 |     Southwest-345      | 

ただし、行を編集している間、ユーザーは「AirlineCode」と「FlightNumber」を別々に編集できる必要があります。また、値はデータソースで正しく維持されている必要があります。

ユーザーに「表示」と「編集」を別々にさせたい場合は、を使用する必要があることを私は知っています。

だから私はこのようなことを試みています:

<Columns>
 <telerik:GridTemplateColumn EditFormColumnIndex="0" HeaderText="Flight">
   <ItemTemplate>
  <%#DataBinder.Eval(Container.DataItem, "airlineCode")%>
  <asp:Literal runat="server" Text="-"></asp:Literal>
  <%#DataBinder.Eval(Container.DataItem, "flightNumber")%>
   </ItemTemplate>
   <EditItemTemplate>
  <telerik:GridBoundColumn HeaderText="AirlineCode" UniqueName="AirlineCode" DataField="airlineCode" />
  <telerik:GridBoundColumn HeaderText="FlightNumber " EditFormColumnIndex="1" DataField="flightNumber" />
   </EditItemTemplate>
 </telerik:GridTemplateColumn> ... 
 ... 
 ... more code, but unrelevant to the question here.
</Columns>

しかし、それは機能していません。

内部の2行は警告を発しています。

要素'GridBoundColumn'は既知の要素ではありません。これは、Webサイトにコンパイルエラーがある場合、またはweb.configファイルがない場合に発生する可能性があります。

おそらく私はそれを間違っています。助けが必要。

どんな助けでも大歓迎です。

4

2 に答える 2

2

drpckenは正しいです。GridTemplateColumnを使用する場合、GridBoundColumnを使用する必要はありません。代わりに、表示および編集テンプレートHTMLを提供し、Bind式を使用して編集テンプレートで双方向バインディングを実行します。例えば:

<telerik:GridTemplateColumn UniqueName="TemplateColumn">                          
         <ItemTemplate>
              <%# Eval("airlinCode") %> - <%# Eval("flightNumber") %>
          </ItemTemplate>
          <EditItemTemplate>
              <table>
                 <tr>
                   <td style="width: 50%">
                     <asp:TextBox runat="server" Text='<%# Bind("airlineCode") %>' />
                   </td>
                   <td style="width: 50%">
                      <asp:TextBox runat="server" Text='<%# Bind("flightNumber") %>' />
                   </td>
                  </tr>
               </table>
          </EditItemTemplate>
</telerik:GridTemplateColumn>

Evalご覧のとおり、ItemTemplateとEditItemTemplateで使用しますBind。他のすべてのコードは、変更せずに引き続き機能するはずです。

Telerikフォーラムにも焦点を当てましょう。Telerik固有の質問については、トラブルシューティングに役立つアクティブなコミュニティがあります:www.telerik.com/forums

于 2010-07-19T23:12:01.580 に答える
0

radgridを使用してからしばらく経ちましたが、編集テンプレートでは、GridBoundColumnsを削除し、ダッシュで区切った2つのテキストボックスコントロールを配置する必要があると思います。次に、Databinderを使用してこれらのtxtボックスに入力します。申し訳ありませんが、iPhoneで入力していてテストできないため、これ以上簡潔にすることはできません。私が私のマシンの前にいるとき、私はあなたとフォローアップします。

幸運を!

于 2010-07-18T18:09:21.230 に答える