将ExtJS ComboBox的值设置为Object,而不是对象属性

时间:2010-10-07 22:23:31

标签: asp.net-mvc json combobox extjs

我在EditorGrid中有一个ComboBox。我正在使用JSON填充它(尝试),这是通过序列化IList<FertilizerType>生成的。 我希望ComboBox的valueField等于FertilizerType个对象,displayField等于FertilizerType.Name

这是Crop

{\"Id\":1300,\"Active\":true,\"Code\":\"Ammonium Bicarbonate\",\"Description\":\"Ammonium Bicarbonate\",\"GroupName\":\"FertilizerType\",\"Name\":\"Ammonium Bicarbonate\",\"Ordinal\":1}

为什么我要将valueField设置为您可能会问的对象?好吧,网格中的所有数据都是Crop对象的一部分。 ComboBox需要返回FertilizerType,以便填充Crop.FertilizerType

这是我的列定义:

{
            header: 'Fertilizer Type',
            dataIndex: 'FertilizerType',
            width: 170,
            editor: new Ext.form.ComboBox({
                store: new Ext.data.Store({
                    proxy: new Ext.data.HttpProxy({
                        url: Cbp.baseUrl + 'Controller/GetFertilizerTypes'
                    }),
                    reader: new Ext.data.JsonReader({}, ['FertilizerType', 'FertilizerType.Name']),
                    remoteSort: false
                }),
                valueField: 'FertilizerType',
                displayField: 'FertilizerType.Name',
                hiddenName: 'FertTypeObject',
                mode: 'remote',
                minChars: 0
            })
        }

感谢您的帮助!这让我疯了!

1 个答案:

答案 0 :(得分:-1)

我通过在javascript中复制C#对象解决了这个问题。现在他们正确地发布到服务器。