我正在尝试动态设置Telerik RadGrid GridFooterItem的控件ID,然后通过JavaScript访问ID,但它没有显示在客户端。如果我能让这个工作起来,那对我来说真的很有帮助。
如果我像这样设置页脚的ID:
private void rgDetailItems_ItemDataBound(object sender, GridItemEventArgs e)
{
var foot = e.Item as GridFooterItem;
var r = sender as RadGrid;
foot["DtlTransAmount"].ID = "lblDtlTransAmount";
foot["DtlTransAmount"].Text = "Total Amount: $";
//...
这就是生成客户端的内容,一个带有样式和正确文本的纯HTML表,但没有设置ID:
<div tabindex="0" class="RadGrid RadGrid_Default"
id="ucP_RadGrid1_ctl00_ctl05_rgDetailItems" style="width: 1675px;">
<table class="rgMasterTable" id="ucP_RadGrid1_ctl00_ctl05_rgDetailItems_ctl00"
style="width: 100%; table-layout: auto; empty-cells: show;">
...
<tfoot>
<tr class="rgFooter">
<td>Total Amount: $</td>
...
</tr>
</tfoot>
...
我的控制ID在哪里&#34; lblDtlTransAmount&#34;?我可以看到RadGrid本身的ID,但不是页脚。页脚ID是隐藏还是无法访问,还是我在服务器端设置错误?
答案 0 :(得分:0)
不清楚你想要达到的目标。但是,如果您尝试访问Grid Footer Item以设置其中的text / total,请尝试以下操作:
private void rgDetailItems_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
if (e.Item is GridFooterItem)
{
GridFooterItem footerItem = (GridFooterItem)e.Item;
footerItem["DtlTransAmount"].Text = "Total Amount: $: " + total.ToString();
}
}
对于更多不同的情况,您可以参考here。
答案 1 :(得分:0)
请尝试使用以下代码段。
<强> ASPX.CS 强>
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridFooterItem)
{
GridFooterItem item = e.Item as GridFooterItem;
string str = "Total Amount: $" + item["ID"].Text;
Label literal = new Label();
literal.Text = str;
literal.ID = "lblDtlTransAmount";
item["ID"].Controls.Add(literal);
}
}
<强> ASPX 强>
<Columns>
<telerik:GridBoundColumn DataField="Id" HeaderText="Id" UniqueName="Id" Aggregate="Sum">
</telerik:GridBoundColumn>
</Columns>
请查看以下屏幕截图以供参考。
如果有任何疑虑,请告诉我。