设置GridFooterItem控件ID

时间:2014-10-03 20:33:15

标签: c# html asp.net telerik radgrid

我正在尝试动态设置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是隐藏还是无法访问,还是我在服务器端设置错误?

2 个答案:

答案 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>

请查看以下屏幕截图以供参考。 enter image description here

如果有任何疑虑,请告诉我。