smartgwt - DynamicForm相对列宽

时间:2014-04-21 16:35:23

标签: java gwt smartgwt

如果我创建一个DynamicForm,如下所示,DynamicForm的FormItems被放置在2行以上。我希望他们能在一排。这个地方应按以下方式分配:第一列为20 px,第二列为250 px,第三列为其余。

final DynamicForm df = new DynamicForm();
FormItem[] fi = new FormItem[3];
// filling the list with one CheckboxItem, one TextItem and one SelectItem
df.setColWidths("20", "250", "*");
df.setNumCols(3);
df.setFields(fi);

结果如下:

result screenshot

我希望将所有FormItem放在一行中。

1 个答案:

答案 0 :(得分:2)

  

基本上,表单项的标题也需要一列。如果你确实想要显示标题,那么它会使列数增加一倍。

有关详细信息,请查看DynamicForm#setColWidths()


根据你的评论:

//filling the list with one CheckboxItem, one TextItem and one SelectItem?

试试这个:

    final DynamicForm df = new DynamicForm();
    // FormItem[] fi = new FormItem[3];
    // filling the list with one CheckboxItem, one TextItem and one SelectItem

    CheckboxItem ci = new CheckboxItem();
    ci.setShowTitle(false);
    ci.setTitle("");

    TextItem ti = new TextItem();
    ti.setShowTitle(false);

    SelectItem si = new SelectItem();
    si.setShowTitle(false);
    si.setValues("PDF");

    df.setItems(ci, ti, si);

    df.setColWidths("20", "250", "*");
    df.setNumCols(3);
    // df.setFields(fi);

    RootPanel.get().add(df);

快照:

enter image description here


根据您的快照:

试试这个

    final DynamicForm df = new DynamicForm();
    // FormItem[] fi = new FormItem[3];

    CheckboxItem ci = new CheckboxItem();
    ci.setShowTitle(false);
    ci.setTitle("");

    SelectItem si = new SelectItem();
    si.setTitle("LANGUAGE");
    si.setValues("PDF");

    df.setItems(ci, si);

    df.setColWidths("20", "250", "*");
    df.setNumCols(3);
    // df.setFields(fi);

    RootPanel.get().add(df);

快照:

enter image description here