值得讨论
从具有以下场景的telerik radgrid触发RowClick事件的pro / Con是什么,它们都可以正常工作; - )情景1:
radgrid控件
OnSelectedIndexChanged="RG_SelectedIndexChanged"
ClientSettings.EnablePostBackOnRowClick="true"
背后的代码
protected void RG_SelectedIndexChanged(){}
情景2:
radgrid控件
OnItemCommand="RG_ItemCommand"
ClientSettings.EnablePostBackOnRowClick="true"
背后的代码
Protected void RG_ItemCommand()
{
if(e.commandname == "RowClick")
{
}
}
场景3:
radgrid控件
OnItemCommand="RG_ItemCommand"
ClientSettings.ClientEvents.OnRowClick="RG_RowClick"
的Javascript
function RG_RowClick(sender, eventArgs) {
var index = eventArgs.get_itemIndexHierarchical();
sender.get_masterTableView().fireCommand("RowClick", index);
}
背后
Protected void RG_ItemCommand()
{
if(e.commandname == "RowClick")
{
}
}
答案 0 :(得分:1)
RadGrid中的所有事件首先触发 ItemCommand 。然后将该事件冒充到特定事件,例如 SelectedIndexChanged , InsertCommand , UpdateCommand 。
基本上,如果您想在调用 SelectedIndexChanged 事件之前执行某些操作,则需要在 ItemCommand 事件中执行该任务。
方案3只是从客户端调用服务器端 ItemCommand 事件。
除非您希望在服务器端调用 ItemCommand 之前执行任何客户端任务,否则它与场景2基本相同。例如,“你确定要......?”
如果您不需要客户端功能,只需使用更简洁,更易维护的方案1或2。