jQuery MiniUI

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

DataGrid在Cell不能编辑情况下回车无效 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2019-2-14 23:48:23 |只看该作者 |倒序浏览
本帖最后由 fullhappy 于 2019-2-14 23:50 编辑

DataGrid在弹窗中显示对应的列表,里面添加了如下代码:
Grid.on("cellenter",function(e){var record=e.record;selectnode(record.ID);});

而对应的Cell是不可编辑,目的就是为了弹窗选取某行后,弹窗就能自动关闭,进入到前面主页面中,将选取的内容填充到主页面上!
这也是比较重要的一个功能,可以便捷操作者更好的使用输入页面(使用键盘操作就能编辑输入页面所需内容,无须鼠标操作)。
今天测试了下,完全无效。请专家帮忙解答下如何来实现?

Rank: 1

沙发
发表于 2019-2-14 23:52:28 |只看该作者
本帖最后由 fullhappy 于 2019-2-14 23:54 编辑

另外,也使用了方法 onkeypress="onkeypress",
在里面定义代码如下(也是无效):
function onkeypress(e) {
   var editor=e.sender,record=e.record;
   if(e.charCode==Ext.EventObject.ENTER){
     selectnode(record.ID);
   }
}

Rank: 8Rank: 8

板凳
发表于 2019-2-15 10:40:48 |只看该作者
fullhappy 发表于 2019-2-14 23:52
另外,也使用了方法 onkeypress="onkeypress",
在里面定义代码如下(也是无效):
function onkeypress(e) ...

你可以参考这个例子:http://www.miniui.com/demo/#src=buttonedit/selectGrid.html
在我们的本地文件的demo文件夹> buttonedit文件夹>selectGrid.html  文件

在js中添加这样的代码:
$(grid.el).on("keydown", function (event) {
        if (event.keyCode == 13) {
            CloseWindow("ok");
        }
    });


还有我们datagrid选中行用select(row);
selectNode是tree的选中节点的方法;

Rank: 1

地板
发表于 2019-2-26 13:09:31 |只看该作者
jialiang 发表于 2019-2-15 10:40
你可以参考这个例子:http://www.miniui.com/demo/#src=buttonedit/selectGrid.html
在我们的本地文件的d ...

实际修改后代码如下(无效):

<div id="List" class="mini-treegrid" style="width:100%;height:100%;" showTreeIcon="true" treeColumn="AssetName"
idField="ID" parentField="ParentID" multiSelect="false" resultAsTree="false" expandOnLoad="false" virtualScroll="true"
allowCellWrap="true" >
<div property="columns">
  <div field="check" type="checkcolumn"></div>
  <div name="AssetName" field="AssetName" width="100px" headerAlign="center" allowSort="true">易耗品名称</div>
  <div field="Brand" width="70px" headerAlign="center" allowSort="true">品牌</div>
  <div field="GSpecial" width="70px" headerAlign="center" allowSort="true">型号</div>
  <div field="Num" width="50px" headerAlign="center">数量</div>
  <div field="Total" width="70px" headerAlign="center">金额</div>
  </div>
</div>

<script type="text/javascript">
  mini.parse();var ListGrid = mini.get("List");
  ListGrid.loadList( [{AssetName:"1",Brand:"",GSpecial:"",Num:1,Total:10}], "ID", "ParentID");
  var sorter = new TreeSort(ListGrid);

  function keydown(e) {
    var editor=e.sender,record=e.record;
    if (e.keyCode == 13) {
      alert("回车");
    }
  }

  ListGrid.focus();
</script>

Rank: 8Rank: 8

5#
发表于 2019-2-26 14:38:58 |只看该作者
fullhappy 发表于 2019-2-26 13:09
实际修改后代码如下(无效):

表格没有回车事件
只有celleditenter事件,在编辑的时候按回车触发。
请按我们的API来调用事件http://www.miniui.com/docs/api/index.html#ui=datagrid

Rank: 1

6#
发表于 2019-2-26 14:59:47 |只看该作者
felt 发表于 2019-2-26 14:38
表格没有回车事件
只有celleditenter事件,在编辑的时候按回车触发。
请按我们的API来调用事件http://www ...

你们后期版本应该可以考虑下表格的回车事件,批量多行输入数据很有需要的

Archiver|普加软件

GMT+8, 2024-11-28 14:40 , Processed in 1.033669 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部