【问题标题】:Telerik DataGrid: Expand Column Group on client SideTelerik DataGrid:在客户端展开列组
【发布时间】:2011-12-28 16:42:07
【问题描述】:

我觉得我缺少 Talerik 的 RadGrid for ASP.NET Ajax 的一些基本内容。

我有一个包含列组的 DataGrid。一切正常,除了我想让每个组的整个标题成为扩展/折叠组的链接,而不仅仅是小箭头。

我已修改标题以将其更改为调用 javascript 函数的链接,但是我无法获得扩展网格的 javascript 权限。

玩了一会儿后,我有了这个 javascript:

function ExpandGroup(index, element)  
{
    $find('LondonGrid').get_masterTableView().get_dataItems()[0].set_expanded(true);
}  
  • 这里的索引是组的索引(从0开始),它通过了 正确通过。
  • 元素是 DOMWindow。

函数中的代码显然是错误的,它所做的只是扩展了第一个数据项。我想要的是一种查找属于组索引的所有 DataItems 并扩展它们的方法。但我找不到办法。

通过修改ItemDataBound事件处理程序添加表头中的链接:

protected void LondonGrid_ItemDataBound(object sender, GridItemEventArgs e)
{
    var headerItem = e.Item as GridGroupHeaderItem;
    if (headerItem != null)
    {
        string html = string.Format("<a href='javascript:ExpandGroup({0}, this)'>{1}</a>",
                                    headerItem.GroupIndex,
                                    headerItem.DataCell.Text);
        var control = new LiteralControl(html);
        headerItem.DataCell.Controls.Add(control);
    }
}

我是 Telerik 控件的新手,我的 asp.net 和 javascript 非常生锈,因此不胜感激。

编辑:我忘了提到我们使用的是 2011 Q2 版本。

【问题讨论】:

    标签: c# javascript asp.net telerik


    【解决方案1】:

    我发现了一个丑陋的 hack,它在标题中找到扩展箭头按钮并单击它。 虽然非常脆弱,但我不能让自己推荐这个作为答案。

    function ExpandGroup(element) {
       element.parentElement.parentElement.parentElement.children[0].children[0].click();
    }  
    

    【讨论】:

      猜你喜欢
      • 2011-12-10
      • 2015-06-08
      • 1970-01-01
      • 1970-01-01
      • 2015-11-08
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多