Я хочу иметь возможность отображать сетку, пока количество дополнительных столбцов неизвестно до тех пор, пока я не окажусь в методе onRender()
на основе типа определенных данных.Как связать индексированные поля DataModel с гибкой сеткой
У меня есть этот класс
ActivityModel extends BaseDataModel {
// defines all common setXXX and getXXX needed
}
моя проблема заключается в том, что, возвращаясь со стороны сервера, модель несет также некоторые дополнительные поля, которые также должны быть отображены в виде столбцов в сетке.
Мой вопрос: Есть ли способ иметь вид проиндексированных полей в пределах AcitivityModel, чтобы иметь возможность сделать следующее? : Акцент на col.setId("{indexed}");
List<ActivityParameterModel> parameters = folderModel.getParameters();
for (ActivityParameterModel param : parameters) {
ActivityParamType paramType = param.getParamType();
col = new ColumnConfig();
col.setHeader(param.getParamName());
col.setWidth(2);
//
// the following line is what I'm expecting to do
col.setId("{indexed}");
switch (paramType) {
case N:
NumberField nf = new NumberField();
nf.setPropertyEditorType(Integer.class);
col.setEditor(new CellEditor(nf));
break;
case S:
TextField<String> tf = new TextField<String>();
col.setEditor(new CellEditor(tf));
break;
}
config.add(col);
Но как это сделать, когда я пришел, чтобы связать поле модели? моя модель содержит только _common fields_ и не знает дополнительных полей (дополнительные поля предназначены для отображения как TextField). Мне нужно среднее значение, сначала выведите «TextField», а затем сможете прочитать значение столбца _extra_ –
. У меня возникла такая проблема, и мне удалось это сделать, установив дополнительные столбцы в сетке (я знал количество пользовательских поля, которые у меня были, но я не знал названия столбца). Для каждого дополнительного столбца я устанавливаю id от 1 до n. Имя дополнительного поля в beback_backing_ также было от 1 до n, поэтому они были связаны. После того, как привязка была готова, я установил заголовки столбцов и макета(). Надеюсь, это поможет вам. Если у меня возникла ваша проблема, это как-то связано с моей. – tartak
Это то, что я сделал в качестве обходного пути, конечно, это не надежное решение. Я прочитал кучу сообщений на форуме sencha, но я не смог прийти с этим решением, они говорят о 'RowExpander' и о том, что не найдено' IdentityValueProperty', которое по-прежнему для меня является неясным классом. –