Ext.net GridPanel获取选中行的数据

本文详细介绍了如何在Ext.js中为按钮添加额外参数,通过使用Ext.encode()将对象转换为JSON字符串,并在后台通过JSON序列化与反序列化进行数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、前台页面
在button中添加ExtraParams
 
<DirectEvents>
    <Click>
           <ExtraParams>
                   <ext:Prameter Name="Values" Value="Ext.encode({#GridPanelName}.getRowsValues({selectedOnly:true}))" Mode="Raw">
            </ExtraParams>
    </Click>
</DirectEvents>
Tips:(1)Ext.encode()  将对象转换成Json字符串;Ext.decode() 将Json字符串转换成对象
2、后台代码
string json=e.ExtraParams["Values"];     //得到json格式的数据
Dictionary<string, string>[] detail = JSON.Deserialize<Dictionary<string, string>[]>(json);        //反序列化json成字典
foreach(Dictionary<string, string> row in sqlDetail  )
{
           string id=row["ID"];.....        获取数据
}

Tips:JSON序列化与反序列化

(1)字典 Dictionary

//序列化
Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("Name", "张三");
dic.Add("Age", "15");
dic.Add("Gender", "");
string json = JSON.Serialize(dic);  

//反序列化
string json= @"[{"Name":"张三","Age":18,"Gender":""}]";
Dictionary<string, string> dic = JSON.Deserialize<Dictionary<string, string>>(json);

(2)集合 List

//序列化
List<Person> list = new List<Person>(); 
list.Add(new Person{Name="张三",Age=18,Gerder=""});
list.Add(new Person{Name="李四",Age=21,Gender=""});
string json = JSON.Serialize(list);

//反序列化
string json=@"[{"Name":"张三","Age":18,"Gender":""},{"Name":"李四","Age":21,"Gender":""}]";
List<Person> list= JSON.Deserialize<List<Person>>(json);

 

 

转载于:https://www.cnblogs.com/RANCY/p/4905008.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值