javascript - 将 vtype 添加到网格 EXT-JS 中的列

标签 javascript regex extjs grid numeric

我有一个网格,其中有一列用户只能输入正整数。所有其他值都是 Not Acceptable 。

对于文本字段,我可以使用 VType 处理类似的场景,但我无法将 VType 添加到网格的列。是否可以添加一个?

如果是的话,如果有人能告诉我如何做,那就太好了。

PFB 网格代码:

xtype:'gridpanel',
id:'my-grid',
overflowY:'auto',
sortableColumns:false,
enableColumnHide:false,
enableColumnResize:true,
plugins:[
    Ext.create('Ext.grid.plugin.CellEditing', {
        clicksToEdit:1,
        pluginId:'cellEditing'
    })
],
store:new Ext.data.Store({
    fields:['data1', 'data2'],
    addRecords:false,
    data:storeData
}),
columns:[
    {
        text:'NumberColumn',
        dataIndex:'data1',
        menuDisabled:true,
        sortable:false,
        flex: 4,
        editor:{
            xtype:'textfield',
            allowBlank:false,
            //tried adding vtype here...but didn't work...
        },
        renderer:function (value, metaData, record) {
            return value
        }
    }

最佳答案

vtype 可以应用于字段,但不能应用于列。列仅可视化一个值,而字段允许您输入和操作它。在您的情况下,您使用的是 Cellediting,它用 Ext.form.Field 实例覆盖列,在您的情况下,是一个文本字段,然后允许您输入/操作一个值。因此,向 fieldconfig 添加有效的 vtype 应该可行。无论如何,数字没有 vtype,因此在您的情况下在这里使用它是没有值(value)的。

但是您的问题可以通过使用以下字段轻松解决:

{
    xtype: 'numberfield',
    allowDecimals: false,
    minValue: 0,
    allowBlank: false
}

关于javascript - 将 vtype 添加到网格 EXT-JS 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17447754/

相关文章:

java - 使用正则表达式取消驼峰式 Java 字符串

java - 在多个 if 语句中调用正则表达式检查方法时使用哪种模式或方法?

javascript - 如何在 pagingtoolbar Ext js 4.2 中获取检查的行数?

javascript - 使用 lodash 仅使用键查找数组中的差异

javascript - 创建 HTML 侧边栏时使用存储的属性

javascript - 在此 javascript 动画中,第二次动画无法正常工作

javascript - 创建一个类似于 .contains 的表达式

javascript - 如何使用 jQuery 隐藏/显示 div 而不改变尺寸?

java - 在 Java 中使用正则表达式拆分字符串

javascript - ExtJS - 填充和自动高度