gpt4 book ai didi

javascript - RadGrid 条件行回发

转载 作者:行者123 更新时间:2023-11-28 02:18:11 24 4
gpt4 key购买 nike

我在页面上有一个 RadGrid,当您单击该行时会回发,配置如下:

<ClientSettings EnablePostBackOnRowClick="true">
<Selecting AllowRowSelect="true" />
<ClientEvents OnRowClick="RowClick" />
</ClientSettings>

我试图通过以下方式停止事件的传播来停止回发:

function RowClick(sender, e) {
var masterTable = sender.get_masterTableView();
var hasReport = masterTable.getCellByColumnUniqueName(e.get_item(), "HasReport").innerHTML;

if (hasReport.trim() == "No") {
e.get_domEvent().preventDefault();
e.get_domEvent().stopPropagation();
}
}

但这不起作用;回发仍然发生。我有一个包含两条记录的网格,仅当字段值为"is"时才需要它回发,但我无法让它工作。我确信它满足了“否”条件,但即使在停止传播后,事件仍然会触发。知道如何停止回发吗?我无法使用 RowSelecting,因为它永远不会触发,因为我是在行单击时发回的。

最佳答案

删除 EnablePostBackOnRowClick - 将其设置回 false。添加一个 RadAjaxManager(如果还没有),然后手动触发 PostBack。尝试这样的事情:

<telerik:RadAjaxManager runat="server" ID="ajaxMgr"></telerik:RadAjaxManager>
<script type="text/javascript">

function rowClick(sender, args) {
var mastertable = sender.get_masterTableView();
var id = mastertable.getCellByColumnUniqueName(args.get_item(), "Id").innerHTML;

if (id == "1") {
var ajaxMgr = $find("<%= ajaxMgr.ClientID %>");
ajaxMgr.ajaxRequestWithTarget("<%= grid.UniqueID %>", id);
}

}

</script>

然后您需要在代码隐藏中处理 RaisePostBackEvent 方法:

protected override void RaisePostBackEvent(IPostBackEventHandler sourceControl, string eventArgument)
{
// Do something interesting
}

关于javascript - RadGrid 条件行回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16088935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com