C#中 EasyUI datagrid数据传给后台 求前台后台代码
发布时间:2025-05-19 13:47:38 发布人:远客网络
一、C#中 EasyUI datagrid数据传给后台 求前台后台代码
1、///修改datagrid后保存修改到数据库
2、 var insertRows, updateRows, deleteRows;
3、 var allRows= obj.datagrid('getRows');
4、 var updateFlag= true;//判断新增、修改的行数据是否都合法,都合法为true,否则false
5、 for(var i= 0; i< allRows.length; i++){
6、 if(!obj.datagrid('validateRow', i)){
7、 title:'Error messages',
8、 msg:'第'+(i+ 1)+'行数据有误',
9、 obj.datagrid('endEdit', i);
10、 insertRows= obj.datagrid('getChanges','inserted');
11、 updateRows= obj.datagrid('getChanges','updated');
12、 deleteRows= obj.datagrid('getChanges','deleted');
13、//if、else判断是否有变化的行,if没有则跳出提示信息,else进行下一步
14、 if((insertRows.length== 0&& updateRows.length== 0&& deleteRows.length== 0)||!updateFlag){
15、//$.messager.alert('Messages','请进行正确的添加、更改或删除操作后再保存!','info');
16、//将所有变化行的信息转换成string,并传给后台
17、 var strInsertRows= JSON.stringify(insertRows);
18、 var strUpdateRows= JSON.stringify(updateRows);
19、 var strDeleteRows= JSON.stringify(deleteRows);
20、'insertStr': strInsertRows,
21、'updateStr': strUpdateRows,
22、'deleteStr': strDeleteRows
23、 if(result=='Success'){
24、 obj.datagrid('acceptChanges');
25、 obj.datagrid('reload');
26、 obj.datagrid('unselectAll');
27、$.messager.alert('Messages', result,'info', function(){ self.parent.refreshTab()});
28、JSONHelper.JSONToObject<List<StrorageInfo>>(insertStr);将得到的新增json转换成实体,这边你只要能把json拆成你要的数据就好
二、easyui datagrid列设置checkbox,并能获取选中的值如图
在 easyui datagrid中设置列为 checkbox并能获取选中的值,可以按照以下步骤进行操作:
1、在 columns配置中设置需要显示 checkbox的列,示例代码如下:
{field:'id',title:'ID',width:80},
{field:'name',title:'Name',width:100},
{field:'gender',title:'Gender',width:100},
{field:'checkbox',title:'',checkbox:true},
在这个示例中,第 4列设置了 checkbox。
2、在 easyui datagrid的 toolbar中添加按钮,并绑定事件,示例代码如下:
iconCls:'icon-search',
var rows=$('#dg').datagrid('getSelections');
alert(rows.length+' rows are selected.');
在这个示例中,添加了一个名为"Get Selected"的按钮,点击按钮会获取当前选中的行,并弹出提示框显示选中的行数。
3、在点击按钮时获取选中的行,示例代码如下:
var rows=$('#dg').datagrid('getSelections');
在这个示例中,使用 easyui datagrid的 getSelections方法获取选中的行数据。
4、在获取选中的行后,可以对这些行进行后续的操作,例如对每行进行遍历,获取某一列的值,示例代码如下:
for(var i=0; i<rows.length; i++){
console.log(row.id);//获取 id列的值
在这个示例中,使用 for循环遍历选中的行数据,然后使用 row.id获取 id列的值。
以上就是在 easyui datagrid中设置列为 checkbox并能获取选中的值的操作步骤。
三、easyui中datagrid无法显示的问题怎么解决
1、刚刚接触easyUI,这个datagrid的url载入数据也是困扰多时。
2、首先,Visual Studio直接写个json文件是不行的!直接打开htm文件到时可以,但是用VS预览是绝逼出不了数据的,我试了一下午。(有个奇葩方法,你把json文件结尾变成.aspx就可以显示数据了,但只限VS里跑起来才行,而且也只能是VS里行,本地打开htm就歇菜了,随意这个方法不推荐)
3、url参数里的地址必须是用ajax方法得到的json数据,可以用ashx文件,或者mvc的jsonresult路径,只要返回json字符串就可以。
4、或者直接加载js对象,也就是用loadData方法,url设置为null
5、默认iis是没有json文件的mime映射的,所以请求json文件会出现404【GET请求】或者405 Method Not Allowed【POST请求】错误,导致无法加载json文件。
6、如果是学习easyUI的时候,我觉得配置jquery easyui datagrid的请求方式方法为GET【默认为POST请求】,这样可以
7、method:'GET'//===========