We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy.
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

GridFilterBar and Date/Time fields

Thread ID:

Created:

Updated:

Platform:

Replies:

5040 Jun 16,2003 06:16 PM UTC Jun 17,2003 04:37 PM UTC Windows Forms 7
loading
Tags: GridControl
Charles Carlin
Asked On June 16, 2003 06:16 PM UTC

I have a databound grid control where one of the columns is a datetime field. When I use the gridfilterbar and wire it to the control all is fine until I select an entry for the date/time from the list of entries instead of giving a range or something. It always comes up with an empty grid. FYI: The field does not display seconds the drop down does.

Administrator [Syncfusion]
Replied On June 16, 2003 08:18 PM UTC

The orders table in the \Syncfusion\Essential Suite\Grid\Samples\DataBound\FilterBarGrid has date columns that do not have this problem. Are you setting the CellValueType for the column to typeof(DateTime)? The sample uses code like: gbcc["RequiredDate"].StyleInfo.Format = "d"; gbcc["RequiredDate"].StyleInfo.CellValueType = typeof(DateTime); If setting the CellValueType does not handle the problrm, can you attach a sample?

Charles Carlin
Replied On June 17, 2003 11:25 AM UTC

This is a real simple project. It is connecting to a MS-SQL database. The table definition is: CREATE TABLE [dbo].[cg_audit_trail] ( [table_name] [varchar] (50) NOT NULL , [row_id] [bigint] NOT NULL , [action_type] [char] (1) NOT NULL , [datetime_stamp] [datetime] NOT NULL , [user_id] [varchar] (50) NOT NULL , [data] [varchar] (2000) NULL ) ON [PRIMARY] GO

Administrator [Syncfusion]
Replied On June 17, 2003 12:47 PM UTC

Chuck, Your code works OK for me. I don't get the empty grid. What regional setting are you using? For data, I entered values in SQL Manager that were just dates and dates with times, an dit did not seem to affect the filtering as you described.

Administrator [Syncfusion]
Replied On June 17, 2003 12:56 PM UTC

Also, what version of teh grid are you using? I tried it both with 1.5.2.0 and 1.6.

Charles Carlin
Replied On June 17, 2003 02:02 PM UTC

Try using GETDATE() to set the datetime field. If I manually just put in an entry without the full time filled in it seems to work. It seems like the decimal values after the seconds if they are not 000 then the values are not found correctly. Is there anyway to format the date so it would work. It seems like the format only effects the display and not the filter.

Administrator [Syncfusion]
Replied On June 17, 2003 02:57 PM UTC

OK, I can see the problem by adding a line like ds.Tables[sName].Rows[0][3] = DateTime.Now; to set one of the field to a DateTime value. The DataView.RowFilter is failing in this situation. If you replace the grid with a DataGrid and just try to apply the DataView.RowFilter there as well, it also fails in this same situation. I think it is rthe milliseconds that is causing the problem. Instead of the code above, if I use this code to set the value (with zero milliseconds), things work OK.
DateTime dt = DateTime.Now;
ds.Tables[sName].Rows[0][3] = new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second, 0);
We will look into what can be done to avoiod this problem.

Charles Carlin
Replied On June 17, 2003 04:37 PM UTC

OK I will truncate the milliseconds off for the meantime.

CONFIRMATION

This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

;