请问各位老师报错不能从元素类型 Object 转换为 Field怎么解决,红字为报错部分,代码如下
public class PreGaugeResultPageModel extends PageModel
{
public static final String TAG_ID = "tag5243";
protected void initPageMetaStruct()
{
LfwView main = getPageMeta().getView("main");
HttpServletRequest httpRequest = LfwRuntimeEnvironment.getWebContext().getRequest();
String pk_eva_appraiser = httpRequest.getParameter("pk");
int type = Integer.parseInt(httpRequest.getParameter("type"));
AppLifeCycleContext.current().getApplicationContext().addAppAttribute("type", Integer.valueOf(type));
String isShowTurnBack = null;
if (httpRequest.getParameter("isShowTurnBack") != null) {
isShowTurnBack = httpRequest.getParameter("isShowTurnBack");
}
if ((isShowTurnBack != null) && ("N".equals(isShowTurnBack)))
{
extHandMethod(main);
}
int schMode = initPage(main, pk_eva_appraiser);
UIMeta um = (UIMeta)getUIMeta();
UITabComp tabComp = (UITabComp)um.findChildById("tag5243");
List itemList = tabComp.getPanelList();
if ((schMode == 2) || (schMode == 3))
{
UITabItem tabGauge = (UITabItem)itemList.get(0);
tabGauge.setText(NCLangRes4VoTransl.getNCLangRes().getStrByID("c_pe-res", "0c_pe-res0133"));
tabGauge.setI18nName("0c_pe-res0133");
tabGauge.setLangDir("c_pe-res");
changeGrid(main);
}
if (type != 1)
{
if (type == 2)
{
itemList.remove(0);
UIFlowvLayout flowvLayout = (UIFlowvLayout)um.findChildById("flowvlayout7333");
flowvLayout.removePanel((UIFlowvPanel)um.findChildById("panelv07333"));
} else if (type == 3)
{
itemList.remove(1);
}
}
super.initPageMetaStruct();
}
private void extHandMethod(LfwView main) {
Dataset dsGaugeIndi = main.getViewModels().getDataset("dsGaugeIndi");
Dataset gridAppraiser = main.getViewModels().getDataset("dsAppraiser");
List fieldList = dsGaugeIndi.getFieldSet().getFieldList();
List gridAppraiserFieldList = gridAppraiser.getFieldSet().getFieldList();
GridComp gridComp = (GridComp)main.getViewComponents().getComponent(
"gridGaugeIndi");
GridComp gridAppraiserComp = (GridComp)main.getViewComponents().getComponent(
"gridAppraiser");
gridComp.setAutoRowHeight(Boolean.valueOf(true));
Map map = new HashMap();
map.put("pk_indi_type_linkname", Integer.valueOf(1));
map.put("indiname", Integer.valueOf(1));
map.put("value_fact", Integer.valueOf(1));
Map map2 = new HashMap();
map2.put("value_start", Integer.valueOf(1));
map2.put("value_challenge", Integer.valueOf(1));
map2.put("pk_guage_indi_standard", Integer.valueOf(1));
for (Field field : fieldList) {
String id = field.getId();
GridColumn score_column = gridComp.getElementById(id);
if (score_column != null) {
if (map.containsKey(id)) {
if (score_column == null) {
continue;
}
score_column.setAutoExpand(true);
}
if (map2.containsKey(id)) {
score_column.setVisible(true);
score_column.setAutoExpand(true);
if (id.equals("value_start")) {
score_column.setI18nName("");
score_column.setText("评分标准");
} else if (id.equals("value_challenge")) {
score_column.setI18nName("");
score_column.setText("指标标准分");
score_column.setAutoExpand(false);
}
}
score_column.setTextAlign("center");
}
}
for (Field field : gridAppraiserFieldList) {
String id = field.getId();
GridColumn score_column = gridAppraiserComp.getElementById(id);
if (score_column != null) {
if (id.equals("appraiser_status")) {
GridColumn zero_column = (GridColumn)gridAppraiserComp.getColumn(0);
int oldIndex = score_column.getIndex();
score_column.setIndex(0);
zero_column.setIndex(oldIndex);
}
score_column.setTextAlign("center");
score_column.setAutoExpand(true);
}
}
MenuItem item = new MenuItem();
item.setEnabled(true);
item.setId("update");
item.setModifiers(2);
item.setText("修改");
item.setVisible(true);
EventConf event = MouseEvent.getOnClickEvent();
event.setMethodName("onUpdate");
item.addEventConf(event);
MenuItem item2 = new MenuItem();
item2.setEnabled(true);
item2.setId("save");
item2.setModifiers(2);
item2.setText("保存");
item2.setVisible(true);
EventConf event2 = MouseEvent.getOnClickEvent();
event2.setMethodName("onSave");
EventSubmitRule rule = new EventSubmitRule();
ViewRule wr = new ViewRule();
wr.setId(main.getId());
DatasetRule dsr = new DatasetRule();
dsr.setId("dsGaugeIndi");
dsr.setType("ds_all_line");
wr.addDsRule(dsr);
rule.addWidgetRule(wr);
event2.setSubmitRule(rule);
item2.addEventConf(event2);
main.getViewMenus().getMenuBars()[0].addMenuItem(item);
main.getViewMenus().getMenuBars()[0].addMenuItem(item2);
main.getViewMenus().getMenuBars()[0].getItem("b_reject").setVisible(
false);
}
private void changeGrid(LfwView main)
{
GridComp gridGaugeIndi = (GridComp)main.getViewComponents().getComponent("gridGaugeIndi");
GridColumn colIndiTypeName = (GridColumn)gridGaugeIndi.getColumnById("pk_indi_type_linkname");
colIndiTypeName.setText(NCLangRes4VoTransl.getNCLangRes().getStrByID("c_pe-res", "0c_pe-res0214"));
colIndiTypeName.setI18nName("0c_pe-res0214");
colIndiTypeName.setLangDir("c_pe-res");
GridColumn colIndiProp = (GridColumn)gridGaugeIndi.getColumnById("pk_indicator_indiprop");
colIndiProp.setText(NCLangRes4VoTransl.getNCLangRes().getStrByID("c_pe-res", "0c_pe-res0132"));
colIndiProp.setI18nName("0c_pe-res0132");
colIndiProp.setLangDir("c_pe-res");
GridColumn colIndiName = (GridColumn)gridGaugeIndi.getColumnById("indiname");
colIndiName.setText(NCLangRes4VoTransl.getNCLangRes().getStrByID("c_pe-res", "0c_pe-res0216"));
colIndiName.setI18nName("0c_pe-res0216");
colIndiName.setLangDir("c_pe-res");
GridColumn colWeight = (GridColumn)gridGaugeIndi.getColumnById("indi_weight_show");
colWeight.setText(NCLangRes4VoTransl.getNCLangRes().getStrByID("c_pe-res", "0c_pe-res0120"));
colWeight.setI18nName("0c_pe-res0120");
colWeight.setLangDir("c_pe-res");
GridColumn colScore = (GridColumn)gridGaugeIndi.getColumnById("score");
colScore.setText(NCLangRes4VoTransl.getNCLangRes().getStrByID("c_pe-res", "0c_pe-res0133"));
colScore.setI18nName("0c_pe-res0133");
colScore.setLangDir("c_pe-res");
colScore.setEditable(true);
}
private int initPage(LfwView main, String pk_eva_appraiser)
{
int schMode = 0;
String[] pks = null;
if (pk_eva_appraiser.contains(","))
pks = pk_eva_appraiser.split(",");
else {
pks = new String[] { pk_eva_appraiser };
}
Dataset dsAppraiser = main.getViewModels().getDataset("dsAppraiser");
Dataset dsGaugeIndi = main.getViewModels().getDataset("dsGaugeIndi");
Dataset dsAppraiserDetail = main.getViewModels().getDataset("dsAppraiserDetail");
dsAppraiser.clear();
dsGaugeIndi.clear();
dsAppraiserDetail.clear();
IAppraiseService serviceForAppraiser = (IAppraiseService)NCLocator.getInstance().lookup(IAppraiseService.class);
AppraiserExtTVO[] aggAppraiseInfoTVOs = new AppraiserExtTVO[pks.length];
AppraiserVO[] appraiserVOs = new AppraiserVO[pks.length];
try
{
for (int i = 0; i < pks.length; i++) {
String pk = pks[i];
aggAppraiseInfoTVOs[i] = serviceForAppraiser.queryAppraiserExtTVOs(pk);
appraiserVOs[i] = aggAppraiseInfoTVOs[i].getAppraiserVO();
if (i == 0) {
ISchemeQryService serviceForSch = (ISchemeQryService)NCLocator.getInstance().lookup(ISchemeQryService.class);
AggSchEvaVO aggSchEvaVO = serviceForSch.queryByPk(appraiserVOs[i].getPk_sch_eva());
if (aggSchEvaVO != null) {
schMode = aggSchEvaVO.getSchEvaVO().getScheva_mode().intValue();
}
}
}
SuperVOUtil.sortByAttribut