gpt4 book ai didi

telerik - 在 RadGrid 中,我们如何合并 2 个数据列仅用于查看,但仍然可以单独编辑它们?

转载 作者:行者123 更新时间:2023-12-04 16:25:29 24 4
gpt4 key购买 nike

我有一个 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”和“Flight Number”。并且这些值仍应在数据源中正确维护。

我知道如果我们希望用户以不同的方式“查看”和“编辑”,我们将不得不使用 .

所以我正在尝试这样的事情:
<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>

但它不起作用。

里面的那两行给出警告:

元素“GridBoundColumn”不是已知元素。如果网站中存在编译错误,或者缺少 web.config 文件,则可能会发生这种情况。

可能我做错了。需要帮忙。

任何帮助表示赞赏。

最佳答案

drpcken 是正确的。使用 GridTemplateColumn 时,不需要使用 GridBoundColumn。相反,您提供查看和编辑模板 HTML 并使用 Bind在 Edit 模板中进行双向绑定(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 和 Bind 中在 EditItemTemplate 中。所有其他代码应继续工作而无需更改。

让我也强调一下 Telerik 论坛。对于 Telerik 的特定问题,有一个活跃的社区可以帮助解决问题: www.telerik.com/forums

关于telerik - 在 RadGrid 中,我们如何合并 2 个数据列仅用于查看,但仍然可以单独编辑它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3276614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com