在我的数据库中,我有一个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' }