java - smartgwt SelectItem 具有空值

标签 java smartgwt

我有一个 SelectItem,它从数据库中获取数据。我需要向我选择的项目添加一个空字段。

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

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);
}

最佳答案

您是否为 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 代码。

关于java - smartgwt SelectItem 具有空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16103912/

相关文章:

java - Spring Roo DataOnDemand getNewTransientObject 方法的自定义?

java - SOAP 故障 : Failed to assert identity with UsernameToken

java - JTable 中的自动过滤

java - SmartGWT Img 设置应用程序外的路径

java - 在 Listgrid 的过滤器编辑器中编辑数据不会导致 fetchData

java - SmartGWT 发布并重定向到 URL

java - 并发方法设计的数据类型

java - 如何保护基于 XML 的数据源?

gwt - 在 GWT 项目中使用 JDK 中的包和类

java - Spring 工具套件4 : not possible to open projects after the update to version 4. 5.0