我觉得我遗漏了Talerik用于ASP.NET Ajax的RadGrid的基本内容。
我有一个包含列组的DataGrid。一切正常,除了我想让每个组的整个标题成为扩展/折叠组的链接,而不仅仅是小箭头。
我已经修改了标题以将其更改为调用javascript函数的链接,但是我无法使用javascript来扩展网格。
在玩了一下之后,我有了这个javascript:
function ExpandGroup(index, element)
{
$find('LondonGrid').get_masterTableView().get_dataItems()[0].set_expanded(true);
}
函数中的代码显然是错误的,它的作用就是扩展第一个数据项。我想要的是一种查找属于组索引并扩展它们的所有DataItem的方法。但我找不到办法做到这一点。
通过修改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年第二季度版本。
答案 0 :(得分:0)
我发现了一个丑陋的丑陋黑客,它在标题中找到了扩展箭头按钮并单击它。 虽然非常脆弱,但我不能让自己推荐这个作为答案。
function ExpandGroup(element) {
element.parentElement.parentElement.parentElement.children[0].children[0].click();
}