FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 3108|回复: 2
打印 上一主题 下一主题

Grid模板列编辑录入,回车自动定位至下一行录入,grid翻页...

[复制链接]
跳转到指定楼层
楼主
发表于 2013-7-11 17:01:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Grid模板列编辑录入(asp.net TextBox),回车自动定位至下一行录入,grid翻页后,自动换行功能失效。
请三石兄和各位,帮忙一下,谢谢!
前端脚本:
<script type="text/javascript">
        var gridClientID = '<%= Grid1.ClientID %>';
        var lblplanners='<%=lblplanners.ClientID %>';//保存json字符串
        function registerSelectEvent() {
            var grid = X(gridClientID);
            // 防止重复注册客户端事件
            if (grid.el.getAttribute('data-event-click-registered')) {
                return;
            }
            grid.el.set({ 'data-event-click-registered': true });
            grid.el.select('.x-grid-tpl input').on('click', function (evt, el) {
                el.select();
            });
        }
        function registerEnterEvent() {
            var grid = X(gridClientID);
            
            // 防止重复注册客户端事件
            if (grid.el.getAttribute('data-event-keydown-registered')) {
                return;
            }
            grid.el.set({ 'data-event-keydown-registered': true });
            grid.el.select('.x-grid-tpl input').on("keydown", function (evt, el) {
                if (evt.getKey() == evt.ENTER) {
                    
                    var currRow = Ext.get(el).parent('.x-grid3-row');
                    var plannerid = currRow.query('.x-grid-tpl input')[0].value;
                    var currRowIndex = currRow.parent().query('>div').indexOf(currRow.dom);
                    //__doPostBack(gridClientID, 'AutoSave$' + currRowIndex);
                    var plannerjsonstr = Ext.getCmp(lblplanners).x_state.Text;
                    var jsonobj = $.parseJSON(plannerjsonstr);//jquery 将json字符串转json对象
                    var found = 0;
                    for (var i in jsonobj) {
                        if (i == plannerid) {
                            currRow.query('input.showplannername')[0].value = jsonobj[i];//更加录入的工号显示姓名
                            found = 1;
                            break;
                        }
                    }
                    if (!found) {
                        currRow.query('input.showplannername')[0].value = "工号有误";
                    }
                    //跳至下一行
                    var nextRow = Ext.get(el).parent('.x-grid3-row').next();
                    if (nextRow) {
                        nextRow.query('.x-grid-tpl input')[0].select();
                    }

                }
            });
        }
        function onReady() {
            var grid = X(gridClientID);
            grid.on('viewready', function () {
                registerSelectEvent();
                registerEnterEvent();
            });
        }
        function onAjaxReady() {
            registerSelectEvent();
            registerEnterEvent();
        }
    </script>
沙发
发表于 2013-7-11 17:21:14 | 只看该作者
没看出问题,用Firebug调试下  registerEnterEvent 函数
板凳
 楼主| 发表于 2013-7-16 11:51:50 | 只看该作者
不过把 防止重复注册客户端事件
的代码去掉后,就可以正常运行了。
这样是否正常?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-8-3 05:42 , Processed in 0.043182 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表