日期筛选在smart gwt中不起作用

日期筛选在smart gwt中不起作用,gwt,filtering,smartgwt,listgrid,Gwt,Filtering,Smartgwt,Listgrid,我正在开发一个smartGWt应用程序,该应用程序需要按日期和其他人员筛选列表网格内容,除日期筛选外,其他一切都正常工作,我就是这样定义日期字段的: registeredDate = new DataSourceDateField("registrationDate", voc.registeredDate()); registeredDate.setRequired(true); verificationDate = new DataSourceDateField("lastVerifi

我正在开发一个smartGWt应用程序,该应用程序需要按日期和其他人员筛选列表网格内容,除日期筛选外,其他一切都正常工作,我就是这样定义日期字段的:

registeredDate = new DataSourceDateField("registrationDate", voc.registeredDate());  
registeredDate.setRequired(true);

verificationDate = new DataSourceDateField("lastVerificationDate", voc.verificationDate());  
verificationDate.setRequired(true); 
和其他领域一样

这是我填写记录的方式:

registeredUsersRecords = new ListGridRecord[registeredUsers.length()];

ListGridRecord record = new ListGridRecord();
                record.setAttribute(ID, user.getId());
                record.setAttribute("firstName", user.getFirstName());
                record.setAttribute("lastName", user.getLastName());
                record.setAttribute("email", user.getEmail());
                record.setAttribute("userMainType", type);
                record.setAttribute("isActivated", (user.isActivated())? voc.active(): voc.inActive());
                record.setAttribute("country", user.getSelectedCountry().getValue());
                record.setAttribute("companyName", user.getCompanyName());
                record.setAttribute("registrationDate", user.getRegistrationDate());
                record.setAttribute("lastVerificationDate", user.getVerificationDate());
                registeredUsersRecords[i] = record;
然后我将它们放入数据源:

    DataSource ds = new DataSource();
    ds.setClientOnly(true);
    ds.setFields(fName, lName, email, type,typeDetails, status, country, companyName, registeredDate,verificationDate);
    for(int i = 0; i< registeredUsersRecords.length; i++){
        ds.addData(registeredUsersRecords[i]);
    }
    registeredUsersListGrid.setDataSource(ds);
    registeredUsersListGrid.fetchData();
DataSource ds=newdatasource();
ds.setClientOnly(true);
设置字段(fName、lName、email、type、typeDetails、status、country、companyName、registeredDate、verificationDate);
for(int i=0;i
您尚未共享完整的代码

我仍然试图为您提供一个示例代码。请看一看

public class SmartGWTProject implements EntryPoint {

    public void onModuleLoad() {

        class User {
            private int id;
            private String firstName;
            private Date registrationDate;

            public User(int id, String firstName, Date registrationDate) {
                this.id = id;
                this.firstName = firstName;
                this.registrationDate = registrationDate;
            }

            public int getId() {
                return id;
            }

            public String getFirstName() {
                return firstName;
            }

            public Date getRegistrationDate() {
                return registrationDate;
            }

        }

        DateTimeFormat format = DateTimeFormat.getFormat("MM/dd/yyyy");

        User[] registeredUsers = new User[] { new User(1, "a", format.parse("01/20/2014")),
                new User(2, "b", format.parse("05/20/2013")),
                new User(3, "c", format.parse("02/20/2014")) };

        ListGridRecord[] registeredUsersRecords = new ListGridRecord[registeredUsers.length];

        for (int i = 0; i < registeredUsers.length; i++) {
            User user = registeredUsers[i];
            ListGridRecord record = new ListGridRecord();
            record.setAttribute("id", user.getId());
            record.setAttribute("firstName", user.getFirstName());
            record.setAttribute("registrationDate", user.getRegistrationDate());
            registeredUsersRecords[i] = record;
        }

        DataSourceDateField registeredDate = new DataSourceDateField("registrationDate", "Date");
        DataSourceTextField firstName = new DataSourceTextField("firstName", "Name");
        DataSourceIntegerField id = new DataSourceIntegerField("id", "ID");
        id.setRequired(true);
        id.setPrimaryKey(true);
        id.setHidden(true);

        DataSource ds = new DataSource();
        ds.setClientOnly(true);
        ds.setFields(id, firstName, registeredDate);
        for (int i = 0; i < registeredUsersRecords.length; i++) {
            ds.addData(registeredUsersRecords[i]);
        }

        ListGrid registeredUsersListGrid = new ListGrid();
        registeredUsersListGrid.setDataSource(ds);
        registeredUsersListGrid.fetchData();

        registeredUsersListGrid.draw();

    }
}
公共类SmartGWTProject实现入口点{
moduleload()上的公共void{
类用户{
私有int-id;
私有字符串名;
私人日期注册日期;
公共用户(int-id,String-firstName,Date-registrationDate){
this.id=id;
this.firstName=firstName;
this.registrationDate=注册日期;
}
公共int getId(){
返回id;
}
公共字符串getFirstName(){
返回名字;
}
公共日期getRegistrationDate(){
返回注册日期;
}
}
DateTimeFormat格式=DateTimeFormat.getFormat(“MM/dd/yyyy”);
User[]registeredUsers=new User[]{new User(1,“a”,format.parse(“01/20/2014”),
新用户(2,“b”,格式解析(“05/20/2013”),
新用户(3,“c”,format.parse(“02/20/2014”)};
ListGridRecord[]RegisteredUserRecords=新ListGridRecord[registeredUsers.length];
for(int i=0;i
请提供更多信息。这还不够。如果我错了,请纠正我。您无法对日期字段的网格进行排序?是的,这是真的,thanx对于您的关注thanx很有帮助,我没有使用DateTimeFormat,但我现在有另一个问题,那就是:我的日期格式类似于“2013年12月10日”,当我使用该格式时,解析(“2013年12月10日”)会给我一个非常好的消息。这是答案。我希望你已经找到了你所有问题的答案。如果是,请关闭线程。