jQuery MiniUI

 找回密码
 立即注册
查看: 5969|回复: 9
打印 上一主题 下一主题

datagrid默认列不可编辑,当点击编辑按钮时可编辑 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2016-8-5 11:37:59 |只看该作者 |倒序浏览
datagrid默认列不可编辑,当点击编辑按钮时可编辑js,怎么控制datagrid列可编辑

Rank: 8Rank: 8

沙发
发表于 2016-8-5 12:14:48 |只看该作者
grid.updateColumn(column,{readOnly:true/false})可以动态控制是否可编辑

Rank: 3Rank: 3

板凳
发表于 2016-8-5 14:54:30 |只看该作者
felt 发表于 2016-8-5 12:14
grid.updateColumn(column,{readOnly:true/false})可以动态控制是否可编辑

<div id="grid1" class="mini-datagrid" style="width: 750px; height: 200px; margin: 0 auto; text-align: center;" url="../../AjaxService/MES_Ajax.aspx?method=GetAddForestSurveyList&ID=<% =Request.QueryString["ID"]%>"
            idfield="newsId" multiselect="true" allowresize="true" allowalternating="true" allowcelledit="true" allowcellselect="true" multiselect="true"
            editnextonenterkey="true" editnextrowcell="true">
            <div property="columns">
                <div type="indexcolumn" headeralign="center" align="center">编号</div>
                <div type="checkcolumn"></div>
                <div field="PestId" width="100" readOnly="true" required="true" type="comboboxcolumn" headeralign="center" align="center">
                    林业有害生物
                    <input property="editor" id="PestName" name="PestName" class="mini-combobox" style="width: 100%;" textfield="DictionaryName" valuefield="DictionaryId" emptytext="林业有害生物"
                        url="../../AjaxService/MES_Ajax.aspx?method=GetPestType" />
                </div>   
<div name="action" width="80" headeralign="center" align="center" renderer="onActionRenderer" cellstyle="padding:0;">操作</div>
            </div>

//操作
        function onActionRenderer(e) {
            var grid = e.sender;
            var record = e.record;
            var uid = record._uid;
            var rowIndex = e.rowIndex;
            var s = ' <a class="Delete_Button" href="javascript:delRow(\'' + uid + '\')">删除</a>';
            var ss = ' <a class="edit_Button" href="javascript:editRow(\'' + uid + '\')">编辑</a>';
            return s + ss;
        }
  //编辑
        function editRow(row_uid) {
            var row = grid.getRowByUID(row_uid);
            //row.allowcelledit = true;
            //row.allowcellselect = true;
            grid.updateColumn(row, { readOnly: false })
        }
还是不行,我之前datagrid那里设置过 allowcelledit="true",所有行可编辑,去掉之后,每行都加上了  readOnly: false,试了还是不行无法编辑

Rank: 8Rank: 8

地板
发表于 2016-8-5 14:59:47 |只看该作者
wangqianwq 发表于 2016-8-5 14:54
编号
               
               

你写的是什么
单元格编辑就是点上去就能编辑
你要按按钮开启一行的编辑,可以参考行编辑
http://www.miniui.com/demo/#src=datagrid/rowedit.html

Rank: 3Rank: 3

5#
发表于 2016-8-5 15:18:11 |只看该作者
felt 发表于 2016-8-5 14:59
你写的是什么
单元格编辑就是点上去就能编辑
你要按按钮开启一行的编辑,可以参考行编辑

就是点添加跟编辑的时候,单元格是可编辑的状态;为什么每次要先取消编辑,在开始编辑  grid.cancelEdit();
            grid.beginEditRow(newRow)?

Rank: 8Rank: 8

6#
发表于 2016-8-5 15:28:42 |只看该作者
wangqianwq 发表于 2016-8-5 15:18
就是点添加跟编辑的时候,单元格是可编辑的状态;为什么每次要先取消编辑,在开始编辑  grid.cancelEdit( ...

当你按别的行上的edit或new的时候把上一行的编辑状态取消

Rank: 3Rank: 3

7#
发表于 2016-8-5 15:34:34 |只看该作者
felt 发表于 2016-8-5 15:28
当你按别的行上的edit或new的时候把上一行的编辑状态取消

function Save() {
            var o = form.getData();
            form.validate();
            if (form.isValid() == false) return;
            var formjson = mini.encode(o);
            var data = grid.getChanges();
            var json = mini.encode(data);
            alert(json);
            alert(formjson);
            $.ajax({
                url: "../../AjaxService/MES_Ajax.aspx?method=SaveAddForestSurveyList&operation=" + '<% =Request.QueryString["operation"]%>' + "&ID=<% =Request.QueryString["ID"]%>" + "&type=<% =Request.QueryString["type"]%>",
                data: { data: json, formjson: formjson },
                type: "post",
                success: function (text) {
                    alert("保存成功!");
                    CloseWindow("save");


                },


我刚才那样一改,我获取我编辑的那一行数据,获取不到值,直接alert弹出来的事空值
          var data = grid.getChanges();
            var json = mini.encode(data);

Rank: 8Rank: 8

8#
发表于 2016-8-5 15:58:29 |只看该作者
wangqianwq 发表于 2016-8-5 15:34
function Save() {
            var o = form.getData();
            form.validate();

cancelEdit 取消编辑
都取消了哪来的编辑的数据
你可以完整的参考我们行编辑的示例,编辑完按update按钮更新到表格里

Rank: 3Rank: 3

9#
发表于 2016-8-5 17:12:28 |只看该作者
felt 发表于 2016-8-5 15:58
cancelEdit 取消编辑
都取消了哪来的编辑的数据
你可以完整的参考我们行编辑的示例,编辑完按update按钮 ...

不是的,少了一个提交编辑属性, grid.commitEdit();

Rank: 3Rank: 3

10#
发表于 2016-8-5 17:13:06 |只看该作者
felt 发表于 2016-8-5 15:58
cancelEdit 取消编辑
都取消了哪来的编辑的数据
你可以完整的参考我们行编辑的示例,编辑完按update按钮 ...

谢谢

Archiver|普加软件

GMT+8, 2025-5-9 20:33 , Processed in 1.034926 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部