Version: v10.1p_2016-01-12
Browser: Chrome Version 53.0.2785.116 m
Description:
The Smartclient Doc pertaining select/selectItems in ListGrids mostly shows the same Map per Row.
I wanted to know if it is possible to map each row(record?) to a different selectItem valueMap.
The Doc from optionDataSource states such a feat but i have not been able to find out how to make it work.
With the example below the selectfield shows 2 Options "Verbrennungsmotor" and "fliegen" it shows this on every row
My intended result is that the first Row will show the 2 Options from valuemap[0] and the second row will show the 2 Options from valuemap[1]
Sample Code:
Local Data in JSON Format
reflist[xx] contains the records for the listgrid
valuemap[x] contains the valeMap for each record (this is one of the points i am uncertain as i dont know if this is the correct format to do it)
Listgrid
any help/hints are appriciated
Browser: Chrome Version 53.0.2785.116 m
Description:
The Smartclient Doc pertaining select/selectItems in ListGrids mostly shows the same Map per Row.
I wanted to know if it is possible to map each row(record?) to a different selectItem valueMap.
The Doc from optionDataSource states such a feat but i have not been able to find out how to make it work.
With the example below the selectfield shows 2 Options "Verbrennungsmotor" and "fliegen" it shows this on every row
My intended result is that the first Row will show the 2 Options from valuemap[0] and the second row will show the 2 Options from valuemap[1]
Sample Code:
Local Data in JSON Format
reflist[xx] contains the records for the listgrid
valuemap[x] contains the valeMap for each record (this is one of the points i am uncertain as i dont know if this is the correct format to do it)
Code:
var reflist = [];
reflist[20] = [];
reflist[20][0] = {Stelle: "3", Name: "Physikalische Ausgänge", };
reflist[20][1] = {Stelle: "4", Name: "Andere Bewegungen", };
var valuemap = [];
valuemap[0] = {"id":"1", "opt" : "Elektrischer Motor", "id":"2", "opt" : "Verbrennungsmotor"};
valuemap[1] = {"id":"1", "opt" : "Unterwasser", "id":"2", "opt" : "fliegen"};
// a Buttonpress triggers this code to fill the grid
select_grid.setData(reflist[20]);
Code:
isc.ListGrid.create({
ID: "select_grid",
width: "100%",
alternateRecordStyles: true,
autoFitData: "vertical",
cellHeight: 50,
canEdit: true,
autoDraw: false,
fields:[
{name:"Stelle", width:"75", canEdit:false},
{name:"Name", width:"250", canEdit:false},
{name:"Options", width:"200", editorType: "SelectItem",
editorProperties : {
displayField : "opt",
valueField : "id",
optionDataSource : isc.DataSource.create({
dataFormat : "json",
ID : "valueDS",
clientOnly : true,
testData : valuemap
}),
}
},
{name:"Beschreibung", width:"*"}
]
});
Comment