C# Telerik DataGrid:在客户端扩展列组

C# Telerik DataGrid:在客户端扩展列组,c#,javascript,asp.net,telerik,C#,Javascript,Asp.net,Telerik,我觉得Talerik的RadGrid for ASP.NET Ajax缺少了一些基本功能 我有一个包含列组的DataGrid。一切正常,除了我想让每个组的整个标题成为一个扩展/折叠组的链接,而不仅仅是一个小箭头 我已经修改了标题,将其更改为调用javascript函数的链接,但是我无法正确使用javascript来扩展网格 在玩了一会儿之后,我为javascript编写了以下代码: function ExpandGroup(index, element) { $find('Londo

我觉得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
函数中的代码显然是错误的,它所做的只是扩展第一个数据项。我想要的是找到属于组索引的所有数据项并展开它们的方法。但我找不到办法

标题中的链接是通过修改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);
    }
}
protectedvoid LondonGrid\u ItemDataBound(对象发送方,GridItemEventArgs e)
{
var headerItem=e.作为GridGroupHeaderItem的项目;
if(headerItem!=null)
{
string html=string.Format(“”,
headerItem.GroupIndex,
headerItem.DataCell.Text);
var control=新的LiteralControl(html);
headerItem.DataCell.Controls.Add(控件);
}
}
我是Telerik控件的新手,我的asp.net和javascript非常生疏,希望您能提供帮助


编辑:我忘了提到我们使用的是2011年第二季度的版本。

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

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