【发布时间】:2011-05-09 21:29:13
【问题描述】:
我有一个这样定义的网格模板列(为了节省时间和空间,我只放置列):
<telerik:GridTemplateColumn HeaderText="Id" Reorderable="true" SortExpression="Id" UniqueName="Id" DataField="Id">
<ItemTemplate>
<asp:Label ID="lblId" runat="server" Text='<%# Eval("Id") %>' />
</ItemTemplate>
<EditItemTemplate>
<telerik:RadTextBox ID="txbId" Width="50px" runat="server" TextMode="SingleLine"
Text='<%# Bind("Id") %>' />
</EditItemTemplate>
<ItemStyle VerticalAlign="Top" />
</telerik:GridTemplateColumn>
我想在 PreRender 事件上,提取此列的值
protected void RadGrid1_PreRender(object sender, System.EventArgs e)
{
//string selectedItem = ((GridDataItem)RadGrid1.SelectedItems[0])["Id"].Text;
foreach (GridDataItem item in RadGrid1.Items)
{
//not working
string k = item["Id"].Text;// is empty string
string key = (item["Id"].TemplateControl.FindControl("lblId") as RadTextBox).Text;// null pointer
}
知道怎么解决吗?
非常感谢。
【问题讨论】:
-
您能否在期间数据绑定中执行此操作,以便在绑定时访问每个项目?
-
我会尝试,但如果能在 prerender 上使用它会很好,因为我需要根据 DB 中的值更改某些列的工具提示,这只能在 prerender 上实现!?当我尝试使用模板列时会出现复杂情况:/
标签: c# telerik-grid