我觉得我错过了Talerik的RadGrid for ASP.NET Ajax基本功能 .
我有一个包含列组的DataGrid . 一切正常,除了我希望每个组的整个 Headers 是一个扩展/折叠组而不是只是小箭头的链接 .
我已经修改了 Headers 以将其更改为调用javascript函数的链接,但是我无法使用javascript来扩展网格 .
玩了一下后,我有这个为javascript:
function ExpandGroup(index, element)
{
$find('LondonGrid').get_masterTableView().get_dataItems()[0].set_expanded(true);
}
-
这里的索引是组的索引(基于0),它正确传递 .
-
元素是DOMWindow .
函数中的代码显然是错误的,它的作用就是扩展第一个数据项 . 我想要的是一种查找属于组索引并扩展它们的所有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 Q2版本 .
1 回答
我发现了一个丑陋的丑陋黑客,它在 Headers 中找到了扩展箭头按钮并单击它 . 虽然非常脆弱,我不能让自己推荐这个作为答案 .