我正在为jqgrid传递丰富的嵌套域对象,以显示为平面数据行。我这样做是因为我想避免为我的应用程序中的每个100 ++数据网格创建一个平面java数据传输对象。样本行数据:
<record>
<brand>
<description>The Brand</description>
<brandId>305</brandId>
</brand>
<description>The description</description>
<recordId>110</recordId>
</record>
不幸的是,这会在两个元素之间产生命名冲突:品牌描述列显示正常,但根描述列显示两个“描述”连接('TheBrandThe description')。这是我的专栏模型:
colModel :
{name:'brand>description', index:"brand>brandId",
xmlmap:"brand>description",width:200},
{name:'description', index:'description', xmlmap:"description",
editable:true, edittype:'text', width:500}
]
我应该如何修改列模型,以便2'描述'之间没有冲突?我尝试使用xmlmap但没有改变。谢谢!
答案 0 :(得分:0)
您应该做的是以下
xmlmap
符号启动>
以指定XML项目根目录的路径。name
colModel
属性的值,这些属性对应于属性名称。例如name: 'brand'
或name: "brand_description"
而不是name:'brand>description'
。index
属性。在jqGrid内部将name
属性的值复制到index
的情况下。The demo显示结果。它使用
colNames: ["brandId", "brand description", "description", "recordId"],
colModel: [
{ name: "brand_brandId", xmlmap: ">brand>brandId", key: true, width: 100},
{ name: "brand_description", xmlmap: ">brand>description", width: 200},
{ name: "description", xmlmap: ">description", editable: true, width: 500},
{ name: "recordId", width: 100}
]
我在key: true
的定义中添加了">brand>brandId"
,因为我认为该值对于每个项都是唯一的,并且可以用作rowid。您可以通过其他原因选择id
行。