FineUI 官方论坛
标题:
GRID 表格中回车如何才能横向移动单元格?
[打印本页]
作者:
erp8@live.cn
时间:
2013-8-18 11:09
标题:
GRID 表格中回车如何才能横向移动单元格?
本帖最后由 erp8@live.cn 于 2014-4-5 23:00 编辑
<x:RenderField ColumnID="Name" DataField="Name" FieldType="String" HeaderText="名称">
<Editor>
<x:TextBox ID="TextBox1" Required="true" runat="server">
</x:TextBox>
</Editor>
</x:RenderField>
---以上为单元格定义!
可编辑表格回车换单元格(回车后横向移动到下一单元格,现在回车后在原地不动)
<script type="text/javascript">
var gridClientID = '<%= Grid1.ClientID %>';
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.on("keydown", function (evt, el) {
if (evt.getKey() == evt.ENTER) {
var nextRow = Ext.get(el).parent('.x-grid3-row').next();
if (nextRow) {
nextRow.query('.x-grid-tpl input')[0].select();
}
}
}, { delegate: '.x-grid-tpl input' });
}
function onReady() {
var grid = X(gridClientID);
grid.on('viewready', function () {
registerEnterEvent();
});
}
</script>
-----用这个方法不行啊?
高手指点?
作者:
sanshi
时间:
2013-8-18 12:40
extjs 默认支持 可编辑表格 的 Tab 键,不支持回车键
作者:
erp8@live.cn
时间:
2014-4-5 23:13
只能用模板列?
,望高手指点下?应如何做
作者:
gdcrx
时间:
2014-4-5 23:51
本帖最后由 gdcrx 于 2014-4-15 12:38 编辑
下面代码测试可行,再贴一次,呵呵。。。
<script type="text/javascript">
var Tools = new Object();
Tools.isNumber = function (B) {
var A = /^[\d|\.|,]+$/;
return A.test(B)
};
var gridClientID = '<%= gdData.ClientID %>';
var inputselector = '.x-grid-tpl input';
function registerAutoSaveEvent() {
var grid = F(gridClientID);
$(grid.el.dom).delegate(inputselector, 'keyup', function (evt) {
var $this = $(this);
if (evt.which == 13)
{
var inputs = $(this).parents("form").eq(0).find(":input");
var idx = inputs.index(this);
if (idx == inputs.length - 1) {
inputs[0].select()
} else {
inputs[idx + 1].focus();
inputs[idx + 1].select();
}
return false;
}
else
{
window.setTimeout(function () {
var row = $this.parents('.x-grid-row');
var num1 = row.find(inputselector + '.Price').val();
var num2 = row.find(inputselector + '.Quantity').val();
if ( num2.length > 0 && (!Tools.isNumber(num2) || isNaN(num2))) {
alert("请输入正确的数量");
// 不能录入非数据
}
var resultNode = row.find('.x-grid-tpl span.Total');
var total = parseFloat(num1) * parseFloat(num2);
if (isNaN(total))
{
total = 0;
}
resultNode.text(total.toFixed(2));
var rowIndex = row.index();
var rowIndex = row.index();
__doPostBack('', 'AutoSave
+ rowIndex);
}, 300);
}
});
}
// 页面第一次加载完成后调用的函数
F.ready(function () {
registerAutoSaveEvent();
});
</script>
复制代码
作者:
erp8@live.cn
时间:
2014-4-6 00:10
太好了!谢谢!
作者:
隨風往事
时间:
2014-4-16 14:38
gdcrx 发表于 2014-4-5 23:51
下面代码测试可行,再贴一次,呵呵。。。
记号,学习
欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/)
Powered by Discuz! X3.4