如何使用ASP.NET上的ext.net库在GridPanel上选择Rows。 当我将此代码放在Page_Load事件上时,它的工作正常:
protected void Page_Load(object sender, EventArgs e)
{
RowSelectionModel sm = gridRolesPermission.GetSelectionModel() as RowSelectionModel;
sm.SelectedRows.Add(new SelectedRow(1));
sm.SelectedRows.Add(new SelectedRow(2));
}
但是当我想在Ajax事件上选择CheckBoxs时,它无法正常工作!
[DirectMethod]
public void FillPermissionForSelectedRole()
{
RowSelectionModel sm = gridRolesPermission.GetSelectionModel() as RowSelectionModel;
sm.SelectedRows.Add(new SelectedRow(1));
sm.SelectedRows.Add(new SelectedRow(2));
}
在视图上:
....
<Listeners>
<Command Handler="App.direct.FillPermissionForSelectedRole();" />
</Listeners>
...
任何帮助请!
答案 0 :(得分:0)
在您的示例中,当您单击按钮(directMethod按钮)时,发送到服务器端的服务器端的服务器端的pamatercollection,您可以像这样获取此参数集合。
CheckboxSelectionModel1
* CheckboxSelectionModel1是您示例中网格的型号名称。
在你的情况下
string hh= HttpContext.Current.Request["CheckboxSelectionModel1"];
string hh应该是你在网格上检查的东西。
[DirectMethod]
public void FillPermissionForSelectedRole()
{
string hh= HttpContext.Current.Request["CheckboxSelectionModel1"];
}
稍后你可以对这个字符串进行去序列化并获得类似这样的RecordID
"[{"RecordID":5,"RowIndex":5},{"RecordID":7,"RowIndex":7},{"RecordID":3,"RowIndex":3}]"
和行类
var rw = JSON.Deserialize<Row[]>(hh);
string txt = "";
foreach (var item in rw)
{
txt += item.RecordID;
}
答案 1 :(得分:0)
要解决此问题,我应该添加此行来更新修改:
sm.UpdateSelection();