【发布时间】:2015-01-21 14:34:20
【问题描述】:
我希望我只是做错了一些事情(新从 winforms 迁移到 web-dev,并且新到 Telerik)。我正在更新一个应用程序,该应用程序主要具有显示 GridBoundColumns 的 RadGrid,这些 GridBoundColumns 可以正常显示文本并在编辑行时转向文本框。我将这些列之一转换为在 EditItemTemplate 中使用 RadAutoCompleteBox 的 GridTemplateColumn。在正常(显示?)模式下,绑定到项目的文本正确显示,但当行进入编辑模式时,AutoCompleteBox 正确绑定到其自己的数据源,但不显示该列的网格行值。我该怎么做?
我有:
<telerik:GridTemplateColumn UniqueName="PartNumber" HeaderText="Part Number" ItemStyle-CssClass="editWidth"
FilterControlAltText="Filter PartNumber column" FilterControlWidth="85%">
<ItemTemplate><%#DataBinder.Eval(Container.DataItem, "PartNumber")%></ItemTemplate>
<EditItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "PartNumber")%>
<telerik:RadAutoCompleteBox runat="server" ID="racbPN" DataSourceID="ItemIdSource" DataTextField="IMA_ItemID"
HighlightFirstMatch="true" InputType="Text" TextSettings-SelectionMode="Single" MaxResultCount="200" MinFilterLength="4"
Delimiter="" DropDownHeight="300px" DropDownWidth="200px">
</telerik:RadAutoCompleteBox>
</EditItemTemplate>
<HeaderStyle Width="190px"></HeaderStyle>
</telerik:GridTemplateColumn>
搜索 Telerik 论坛,我看到了一些关于将代码放入 ItemDataBound 事件的参考。该代码通常在 C# 中,而我转换为 VB 的实现永远不会工作。我不知道我是不是翻译错误,或者它们不是我的情况的真正答案,但这是我在代码隐藏中尝试过的一个例子:
If e.Item.IsInEditMode Then
Dim item As GridEditableItem = e.Item
If Not e.Item Is GetType(IGridInsertItem) Then
Dim auto As RadAutoCompleteBox = CType(item.FindControl("racbPN"), RadAutoCompleteBox)
auto.Entries.Add(New AutoCompleteBoxEntry(item("PartNumber").Text, item("GSIS_AMRKey").Text))
End If
End If
感谢您查看,如果我遗漏了重要信息,请告诉我还需要提供哪些其他信息。
(radautocompletebox 应该是一个有效的标签吗?)
【问题讨论】:
标签: asp.net vb.net telerik radgrid