在我的数据库中,我有一个Actif列,其值为0和1(false和true)

我试图使用一列。我的db值为0和1的布尔值...但是它不起作用。

{
    xtype: 'booleancolumn',
    dataIndex: 'Actif',
    text: 'MyBooleanColumn',
    falseText: 'Non',
    trueText: 'Oui'
}


请帮帮我 :)

我的模特

Ext.define('ModuleGestion.model.UtilisateursApplicatifs', {
extend: 'Ext.data.Model',

fields: [
    {
        name: 'Nom'
    },
    {
        name: 'Prenom'
    },
    {
        name: 'Identification'
    },
    {
        name: 'MotDePasse'
    },
    {
        name: 'IUtilisateurApplicatif'
    },
    {
        name: 'FonctionRepertoire'
    },
    {
        name: 'FonctionAnimation'
    },
    {
        name: 'FonctionFormation'
    },
    {
        name: 'FonctionAdministration'
    },
    {
        name: 'Actif'
    }
]});


解决的办法是删除返回值的双引号:

$resultat = json_encode($resultat );
$resultat = str_replace('"Actif":"0"', '"Actif":0', $resultat);
$resultat = str_replace('"Actif":"1"', '"Actif":1', $resultat);

最佳答案

我有类似的情况,对于从db使用0和1的情况,我不使用布尔值列。从数据库中,我发送0和1,在我的列渲染器中进行检查并进行一些转换。检查我的示例(这里是actioncolumn-用于在单元格中显示图标)。这是决定您的情况的一种方法。
我的看法:

xtype: 'actioncolumn',
width: 55,
align: 'center',
dataIndex: 'Actif',
menuDisabled: 'true'
text: '',
sortable: false,
fixed: 'true',
renderer: function (value, metadata, record) {
    if (value == '0') {
        //some code
    }
    else {
        //some code
    }
},
getTip: function (value, metadata, record) {
    if (value == '0') {
        return 'here 0';
    } else {
        return 'here 1';
    }
}


您无需更改模型。

在您的示例中,我认为您应该在模型中添加字段类型。

here's example

  { name: 'Actif', type: 'boolean' }

09-11 06:41