Home » U++ Library support » ArrayCtrl, HeaderCtrl & GridCtrl » GridCtrl Search/Move Columns Bug
GridCtrl Search/Move Columns Bug [message #21872] |
Mon, 08 June 2009 20:12 |
jeremy_c
Messages: 175 Registered: August 2007 Location: Ohio, USA
|
Experienced Member |
|
|
I have a Grid control: Subject, Created At, Modified At. It's been working great with search. I then added Movable Columns. It still works great. However, if I take and move Created At or Modified At in front of Subject and then try to search I get an error:
Assertion failed in c:\develop\projects\upp\uppsrc\core\Value.h, line 461
Invalid value conversion: class Upp::RichValueRep<class Upp:WString> -> struct Upp::Time
My grid is setup:
items.AddIndex(ID);
items.AddColumn(SUBJECT, "Subject").Edit(subjectEdit);
items.AddColumn(CREATED_AT, "Created", 15).SetConvert(Single<ConvTimeAgo>());
items.AddColumn(MODIFIED_AT, "Modified", 15).SetConvert(Single<ConvTimeAgo>());
subjectEdit is a EditStringNotNull.
ConvTimeAgo is:
struct ConvTimeAgo : Convert
{
Value Format(const Value &q) const
{
Time dt = (Time) q;
Time now = GetSysTime();
int64 diff = now - dt;
if (q.IsNull())
return "";
if (diff > (SECS_PER_DAY * 7))
return ::Format("%02d/%02d/%04d", dt.month, dt.day, dt.year);
if (diff > SECS_PER_DAY)
return ::Format("Last %Day", ::DayOfWeek(dt));
if (diff > SECS_PER_HOUR)
return ::Format("%d hours ago", diff / SECS_PER_HOUR);
if (diff > SECS_PER_MINUTE)
return ::Format("%d minutes ago", diff / SECS_PER_MINUTE);
return ::Format("%d seconds ago", diff);
}
};
Jeremy
|
|
|
|
|
|
Goto Forum:
Current Time: Sun Apr 28 23:10:27 CEST 2024
Total time taken to generate the page: 0.04271 seconds
|