I have a DataFilter in tandem with a GridView to display data; one of the columns is ItemID (which is a long). I want to filter on ItemID so I only see one value (say, 6917529027641130357 which I see as the first row); I use the DataFilter control and request ItemID is equal to 6917529027641130357 and all of the data is removed from the DataGrid. In general, when I try to filter on any column which is a long, it doesn't find any data even though I know those IDs exist in the DataGrid; when I filter on any other columns, it appears to work just fine.
When I investigated the filters that the DataFilter was using, I see that there is one listed filter in FilterDescriptors and it is "ItemID IsEqualTo 6.91752902764113E+18" which is clearly wrong: it has converted the ItemID to a float which is not the same value as the long I input. If I manually change that value so the filter is "ItemID IsEqualTo 6917529027641130357 ", I see the appropriate results show up in the DataGrid. Is there a setting to make the DataFilter handle my input properly? or is this a bug?
Thanks for your help!
When I investigated the filters that the DataFilter was using, I see that there is one listed filter in FilterDescriptors and it is "ItemID IsEqualTo 6.91752902764113E+18" which is clearly wrong: it has converted the ItemID to a float which is not the same value as the long I input. If I manually change that value so the filter is "ItemID IsEqualTo 6917529027641130357 ", I see the appropriate results show up in the DataGrid. Is there a setting to make the DataFilter handle my input properly? or is this a bug?
Thanks for your help!