在GridPanel上选择许多CheckBox Ext.Net(ASP.NET)

时间:2014-11-26 11:54:49

标签: asp.net checkbox ext.net gridpanel

如何使用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>
...

任何帮助请!

2 个答案:

答案 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();