我有一個Telerik的radgrid控件有2列是這樣的:在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」和「航班號」分開。數據源中的值仍應正確維護。
我知道如果我們希望用戶以不同的方式「查看」和「編輯」,我們將不得不使用。
所以我想是這樣的:
<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.config文件丟失,則可能會發生這種情況。
也許我做錯了。需要幫忙。
任何幫助表示讚賞。
我想按照您的建議使用文本框。但我不確定如何使用剛剛提到的數據綁定器部分。我想要其餘的代碼(特別是在NeedDataSource())中保持不變。 感謝您隨時跟進。 – noops 2010-07-18 18:27:29
您需要使用Databinder。綁定而不是Databinder.Eval綁定到文本框並獲取傳遞給數據訪問層或方法的值。而不是使用兩個GridBoundColumns,爲EditItemTemplate使用帶有兩個文本框的單個GridTemplateColumn。對於txtboxes的TextBoxes.Text屬性,請使用
– drpcken 2010-07-18 22:08:53對不起,我在解決如何標記代碼時遇到問題。新的網站也:) – drpcken 2010-07-18 22:23:08