【问题标题】:smartgwt SelectItem with empty value具有空值的 smartgwt SelectItem
【发布时间】:2013-04-24 01:29:16
【问题描述】:

我有一个 SelectItem,它从数据库中获取数据。我需要在我的选择项中添加一个 emptyField。

我的代码看起来像这样,而且效果很好。

SelectItem editor = new SelectItem(...);    
editor.setOptionDataSource(new DataAllowableValuesDS('data id for database request'));

但在我将其更改为以下代码后,HttpServletRequest 中的 start_row 和 end_row 字段已更改为“-1”。我该如何解决?

SelectItem editor = new SelectItem(...);
editor.setAllowEmptyValue(true);
editor.setOptionDataSource(new DataAllowableValuesDS('data id for database request'));

public DataAllowableValuesDS(String id) {        
    DataSourceField nameField = new DataSourceTextField("name", null, 2000);
    nameField.setPrimaryKey(true);
    setFields(nameField);
}

【问题讨论】:

    标签: java smartgwt


    【解决方案1】:

    您是否为 SelectItem 设置了 valueField (="name")displayField
    这些属性允许 DataSource 将结果映射到 SelectItem。

    我在您的代码中注意到的一件事是,从未使用过在 DataAllowableValuesDS 构造函数中传递给“id”的值。

    此外,结果应该同时具有键/值对。

    尝试将 SelectItem 和 DataAllowableValuesDS 更改为

    SelectItem editor = new SelectItem(...);
    editor.setAllowEmptyValue(true);
    editor.setValueField("key");
    editor.setDisplayField("value");
    
    public DataAllowableValuesDS(String id) {        
        DataSourceField keyField = new DataSourceTextField("key", "Key");
        DataSourceField valueField = new DataSourceTextField("value", "Value");
    
        setFields(keyField, valueField);
    }
    

    其他选项

    • 使用DataArrivedHandler 添加一个空值
    • 尝试从服务器端发送空值作为结果的一部分

    如果可能,请发布您的 DataAllowableValuesDS 代码。

    【讨论】:

      猜你喜欢
      • 2012-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多