jQuery MiniUI

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

grid.on("cellendedit", function (e))是在单元格编辑完成时发生吗? [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2017-3-1 14:50:10 |只看该作者 |倒序浏览
不然是什么?是否需要设置什么属性?这个方法没有反应

Rank: 8Rank: 8

沙发
发表于 2017-3-1 15:17:50 |只看该作者
我这边测试是好的,你可以看下这个事例:http://www.miniui.com/demo/index ... d/celllinkedit.html
用到了beginedit和commitedit,用法和endedit是差不多的,
详细你可以看api:
http://www.miniui.com/docs/api/index.html#ui=datagrid

cellendedit       
{
    sender: Object,
    rowIndex: Number,   
    record: Object,
    column: Object,
    field: String,
    editor: Object,
    value: String
}
编辑结束时发生
我这边也做了个例子,你自己随便改一下数据就可以测试了:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4.     <title></title>
  5.         <script src="../../scripts/boot.js" type="text/javascript"></script>
  6. </head>
  7. <body>
  8.      <div id="datagrid1" class="mini-datagrid" style="width:300px;height:170px;"
  9.               url="../../demo/datagrid/data3.txt" idField="id"
  10.                   allowResize="true" showPager="false"
  11.                   allowCellEdit="true" allowCellSelect="true" allowColumnSort="false">
  12.              
  13.                  <div property="columns">
  14.                      <div type="indexcolumn"></div>
  15.                          <div field="name" allowResize="false" width="120" headerAlign="center" allowSort="true">属性
  16.                               <input property="editor" class="mini-textbox" style="width:100%;"  />
  17.                          </div>
  18.              <div field="value" width="100" allowSort="true" >值
  19.                               <input property="editor" class="mini-textbox" style="width:100%;" />
  20.                          </div>   
  21.                  </div>
  22.         </div>

  23.         <script>
  24.                 mini.parse();

  25.                 var grid = mini.get("datagrid1");
  26.                 grid.load();

  27.                 //////////////////////////////////////////////////////

  28.                 grid.on("cellbeginedit", function (e) {
  29.                         alert("begin");
  30.                         if (e.field == "value") {
  31.                                 var editor = getEditor(e.record);
  32.                                 e.editor = editor;
  33.                                 e.column.editor = editor;
  34.                         }
  35.                 });
  36.                 grid.on("cellcommitedit", function (e) {
  37.                         alert("commit");
  38.                         var record = e.record;
  39.                         if (e.field == "value") {
  40.                                 var format = e.record.format;
  41.                                 if (format) {
  42.                                         e.value = mini.formatDate(e.value, format);
  43.                                 }
  44.                         }

  45.                         if (e.editor.getText) {
  46.                                 record.text = e.editor.getText();
  47.                         } else {
  48.                                 record.text = e.value;
  49.                         }

  50.                 });
  51.                 grid.on("cellendedit", function (e) {
  52.                         alert("end");
  53.                 })
  54.         </script>

  55. </body>
  56. </html>
复制代码

Rank: 3Rank: 3

板凳
发表于 2017-3-1 15:28:36 |只看该作者
jialiang 发表于 2017-3-1 15:17
我这边测试是好的,你可以看下这个事例:http://www.miniui.com/demo/index.html#src=datagrid/celllinkedi ...

我这里表格的单元格全部都处于beginedit状态呢?失去焦点的时候触发的事件有没有?
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

地板
发表于 2017-3-1 17:29:59 |只看该作者
zzbcome 发表于 2017-3-1 15:28
我这里表格的单元格全部都处于beginedit状态呢?失去焦点的时候触发的事件有没有?
...

从你这图看你是行编辑模式,
而cellendedit是单元格编辑模式的API,行编辑模式下不会触发。
你现在需要做什么?

Rank: 3Rank: 3

5#
发表于 2017-3-1 20:25:35 |只看该作者
felt 发表于 2017-3-1 17:29
从你这图看你是行编辑模式,
而cellendedit是单元格编辑模式的API,行编辑模式下不会触发。
你现在需要做 ...

就是光标移除的时候获取这个事件?

Rank: 8Rank: 8

6#
发表于 2017-3-2 10:39:56 |只看该作者
zzbcome 发表于 2017-3-1 20:25
就是光标移除的时候获取这个事件?

textbox有onblur事件,鼠标移出时触发

Rank: 3Rank: 3

7#
发表于 2017-3-6 16:40:17 |只看该作者
dforce 发表于 2017-3-2 10:39
textbox有onblur事件,鼠标移出时触发

可我这个是datagrid里面的<input property="editor" class="mini-textbox"

Rank: 8Rank: 8

8#
发表于 2017-3-6 17:03:59 |只看该作者
zzbcome 发表于 2017-3-6 16:40
可我这个是datagrid里面的

你既然用的行编辑,那就只能用单独的onblur事件
行编辑的编辑结束你主动结束的,你要做什么可以在你的结束编辑的方法后直接写

Archiver|普加软件

GMT+8, 2025-7-22 14:59 , Processed in 1.048057 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部