Coolite GridPanel 操作之一:获取gridpanel 选中行的记录信息

  <Buttons>
                        <ext:Button ID="ButtonSelect" runat="server" Text="Select">
                            <AjaxEvents>
                                <Click OnEvent="ButtonRoleListSelect_Click">
                                    <ExtraParams>
                                        <ext:Parameter Name="Values" Value="Ext.encode(#{GropRoleList}.getRowsValues())"
                                            Mode="Raw" />
                                    </ExtraParams>
                                </Click>
                            </AjaxEvents>
                        </ext:Button>
 </Buttons>

 

事件:

 

        public void ButtonRoleListSelect_Click(object sender, AjaxEventArgs e)
        {
            string json = e.ExtraParams["Values"];
            bool addHeader = true;
            DataTable dt = new DataTable();
            StringBuilder sbstr = new StringBuilder();
            Dictionary<string, string>[] companies = JSON.Deserialize<Dictionary<string, string>[]>(json);
            foreach (Dictionary<string, string> row in companies)
            {


                if (addHeader)
                {
                    foreach (KeyValuePair<string, string> keyValuePair in row)
                    {
                        dt.Columns.Add(keyValuePair.Key);
                    }
                }
                addHeader = false;
                ArrayList list = new ArrayList();
                DataRow dr = dt.NewRow();
                foreach (KeyValuePair<string, string> keyValuePair in row)
                {

                    dr[keyValuePair.Key] = keyValuePair.Value;
                    if (dr["orgrole_id"] == dr[keyValuePair.Key])
                    {
                        sbstr.Append(keyValuePair.Value + ";");
                    }
                }
                dt.Rows.Add(dr);

            }
            if (dt.Rows.Count > 0)
            {
                try
                {
                    DC_OperationType operationtype = new DC_OperationType();
                    MSG_OrgRoleOrgMainTainRequest request = new MSG_OrgRoleOrgMainTainRequest();
                    request.orgrole_id = sbstr.ToString();
                    operationtype.DCE_OperationType = DCE_OperationType.Add;
                    request.OperationType = operationtype;
                    request.organization_id = Node_id;
                    client.OrgRoleOrgMaintain(request);

                    string JsFunction = "refreshTree(#{TreePanelOrganization})";
                    //string JsFunction = "alert('dd');";
                    //string JsFunction = "refreshTree()";
                    Coolite.Ext.Web.ScriptManager sm = Coolite.Ext.Web.ScriptManager.GetInstance(HttpContext.Current);
                    sm.AddScript(string.Format("{0};", JsFunction));
                    this.WindowNewRole.Hide();


                }
                catch (Exception ex)
                {
                    Ext.Msg.Alert("错误", "Message: " + ex.Message + ";").Show();
                }
            }


        }

 

posted @   StarWang  阅读(1590)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示