java - GXT Editor Grid not showing any rows -
i have gxt layout container editor grid. data shown in grid fetched via gwt-rpc service , added grid's store. problem grid never shows checked using ide's debugger list not empty (it contains 1 element).
here snippets:
the dto:
public class competitionwinnerdto extends basemodeldata implements isserializable { public static enum status implements isserializable { pending, approved, paid } public static class property implements isserializable { public static final string competition_id = "competitionid"; public static final string competition_winner_id = "competitionwinnerid"; public static final string confirm_date = "confirmdate"; public static final string site_name = "sitename"; public static final string prize_name = "prizename"; public static final string prize_value = "prizevalue"; public static final string paid_date = "paiddate"; public static final string winner_name = "winnername"; public static final string winner_quote = "winnerquote"; public static final string winner_address = "winneraddress"; public static final string winner_town = "winnertown"; } private status status; public competitionwinnerdto() { setallownestedvalues(false); } public int getcompetitionid() { return ((integer) get(property.competition_id)).intvalue(); } public void setcompetitionid(int competitionid) { set(property.competition_winner_id, new integer(competitionid)); } public int getcompetitionwinnerid() { return ((integer) get(property.competition_winner_id)).intvalue(); } public void setcompetitionwinnerid(int competitionwinnerid) { set(property.competition_winner_id, new integer(competitionwinnerid)); } public date getconfirmdate() { return get(property.confirm_date); } public void setconfirmdate(date confirmdate) { set(property.confirm_date, confirmdate); } public date getpaiddate() { return get(property.paid_date); } public void setpaiddate(date paiddate) { set(property.paid_date, paiddate); } public string getprizename() { return get(property.prize_name); } public void setprizename(string prizename) { set(property.prize_name, prizename); } public int getpricevalue() { return ((integer) get(property.prize_value)).intvalue(); } public void setprizevalue(int prizevalue) { set(property.prize_value, new integer(prizevalue)); } public string getsitename() { return get(property.site_name); } public void setsitename(string sitename) { set(property.site_name, sitename); } public status getstatus() { return status; } public void setstatus(status status) { this.status = status; } public string getwinnername() { return get(property.winner_name); } public void setwinnername(string winnername) { set(property.winner_name, winnername); } public string getwinneraddress() { return get(property.winner_address); } public void setwinneraddress(string winneraddress) { set(property.winner_address, winneraddress); } public string getwinnertown() { return get(property.winner_town); } public void setwinnertown(string winnertown) { set(property.winner_town, winnertown); } public string getwinnerquote() { return get(property.winner_quote); } public void setwinnerquote(string winnerquote) { set(property.winner_quote, winnerquote); } } initialization of grid in ui:
private final list<columnconfig> quoteapprovalconfig = new arraylist<columnconfig>(); columnconfig column = new columnconfig(competitionwinnerdto.property.confirm_date, "date confirmed", 100); column.setrenderer(tablerenderers.datetimerenderer); quoteapprovalconfig.add(column); column = new columnconfig(competitionwinnerdto.property.prize_name, "prize", 100); quoteapprovalconfig.add(column); column = new columnconfig(competitionwinnerdto.property.winner_name, "winner", 100); quoteapprovalconfig.add(column); column = new columnconfig(competitionwinnerdto.property.winner_quote, "quote", 300); final textarea text = new textarea(); text.setallowblank(false); text.setpreventscrollbars(true); column.seteditor(new celleditor(text)); quoteapprovalconfig.add(column); column = new columnconfig(competitionwinnerdto.property.winner_quote, "prize", 75); column.setrenderer(new tablerenderers.currencyrenderer(default_currency_code)); quoteapprovalconfig.add(column); private final columnmodel quoteapprovalcolumns = new columnmodel(quoteapprovalconfig); private final editorgrid<competitionwinnerdto> quoteapprovalgrid = new editorgrid<competitionwinnerdto>(quoteapprovalstore, quoteapprovalcolumns); quoteapprovalgrid.setwidth(leadintelconstants.site_width - 25 - 15); quoteapprovalgrid.setautowidth(true); quoteapprovalgrid.setautoheight(true); quoteapprovalgrid.setautoexpandcolumn(competitionwinnerdto.property.winner_name); quoteapprovalgrid.setborders(true); quoteapprovalgrid.setstriperows(true); and code invoke gwt-rpc service , fill store results:
private void refreshquoteapproval() { competitionservice.getcompetitionwinners( competitionwinnerdto.status.pending, new asynccallback<list<competitionwinnerdto>>() { @override protected void onsuccess(list<competitionwinnerdto> result) { setquoteapprovalwinners(result); } }); } private void setquoteapprovalwinners(list<competitionwinnerdto> quoteapprovalwinners) { quoteapprovalstore.removeall(); if (quoteapprovalwinners != null) { quoteapprovalstore.add(quoteapprovalwinners); } } as said, can see returned list not empty, execution reaches quoteapprovalstore.add(quoteapprovalwinners); without problem , list contains 1 element.
any appreciated.
right, found problem, there 2 columns same id:
this one:
column = new columnconfig(competitionwinnerdto.property.winner_quote, "quote", 300); and other one:
column = new columnconfig(competitionwinnerdto.property.winner_quote, "prize", 75); just changing latter's id unique 1 solved issue.
p.s.: great if gxt warn this
Comments
Post a Comment