Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 1 to 10 of 12 total |
Navigating Rows in Grid |
Tue, May 5 2009 1:30 PM | Permanent Link |
Greg Bishop | Tim:
I've just updated to EDB 2.02 b12, Unicode, Delphi 2009 Pro. I'm now unable to navigate rows in a DevExpress cxGrid. It does work in a standard TDBGrid. I seem to recall a similar issue a while back that was fixed. Any thoughts? Thanks. Greg Bishop |
Wed, May 6 2009 12:00 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Greg,
<< I've just updated to EDB 2.02 b12, Unicode, Delphi 2009 Pro. I'm now unable to navigate rows in a DevExpress cxGrid. It does work in a standard TDBGrid. I seem to recall a similar issue a while back that was fixed. >> It could be a Unicode issue with the grid. What version of the cxGrid are you using ? Also, do you get the same issue regardless of the GridMode property setting ? -- Tim Young Elevate Software www.elevatesoft.com |
Wed, May 6 2009 12:24 PM | Permanent Link |
Greg Bishop | Tim:
I'm using their latest release: v1.43 release on April 9, 2009 (aka ExpressQuantumGrid Suite v6.43). I'm using the default, GridMode := False. However, it appears to be working as expected if I set GridMode := True. Greg |
Wed, May 13 2009 2:37 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Greg,
<< I'm using their latest release: v1.43 release on April 9, 2009 (aka ExpressQuantumGrid Suite v6.43). I'm using the default, GridMode := False. However, it appears to be working as expected if I set GridMode := True. >> Sorry for the delay in getting back to you on this. I can't reproduce this here with the latest 6.43 grid and B12. Is there a particular table with a particular index order that you're using ? If so, could you email me the database catalog/table files ? Thanks, -- Tim Young Elevate Software www.elevatesoft.com |
Fri, May 15 2009 2:02 PM | Permanent Link |
Greg Bishop | Tim:
I couldn't reproduce this issue at first in a simple project. Then I set the KeyFieldNames property of the DBTableView in the cxGrid and the problem appeared. I'm using a query that references the Contact table (Just "SELECT * FROM Contact"). KeyFieldNames was set to "ContactID". ContactID is a computed column. I've e-mailed a sample project and the most-recent database backup that demonstrates this issue. Greg |
Fri, May 15 2009 3:54 PM | Permanent Link |
Sean | Greg,
I am pretty sure the KeyFieldNames in a DevEx grid must refer to a physical column in the dataset. The purpose is to allow the dataset cursor to remain synchronized with the active row of the in-memory data for the grid. The grid most likely uses the TDatset.Locate method to move the dataset cursor and this would almost certainly require a physical field. The query you listed only includes physical fields in the table and so there can be no field named ContactID in the result set. If you have added it as a calculated field, it could not be used by the locate method. Sean Greg Bishop wrote: > Tim: > > I couldn't reproduce this issue at first in a simple project. Then I set the KeyFieldNames property of the DBTableView in the cxGrid and the > problem appeared. I'm using a query that references the Contact table (Just "SELECT * FROM Contact"). KeyFieldNames was set to "ContactID". > ContactID is a computed column. > > I've e-mailed a sample project and the most-recent database backup that demonstrates this issue. > > Greg > |
Fri, May 15 2009 4:00 PM | Permanent Link |
Greg Bishop | Sean:
The ContactID field does have an index and, although calculated, it is the primary key. That's one of the neat things about ElevateDB ... it'll allow indices on calculated fields. This worked in a past version of ElevateDB, just not the current release. |
Fri, May 15 2009 4:36 PM | Permanent Link |
Greg Bishop | Sean:
I thought I'd expand on this a little bit. I have two other fields: ID (autoincremented integer) and DBID (an integer). This isn't the case yet, but my application might eventually get installed at more than one location. Each installation would have a unique DBID (Database ID) that gets populated into the DBID field during eac row insert via a trigger. Each installation would also autoincrement the ID field beginning at 1. ContactID (in the case of the Contact table) is calculated from ID and DBID; it is also defined as the primary key. Therefore, each installation can have duplicated autoincremented IDs, but because of the calculated ContactID, it will have a unique primary key. This way I don't need compounds keys, which I don't like using. This scheme was proposed by others (Tim, I think) in these newsgroups ... just to give credit where it is due. It is intended to make (eventual) replication easier without needing GUIDs or a more complex scheme to ensure unique primary keys. Greg |
Sat, May 16 2009 12:57 PM | Permanent Link |
Sean | Didn't know it could do that! I was thinking calculated fields in the
dataset. Sorry - have no idea what could be the issue. Sean Greg Bishop wrote: > Sean: > > The ContactID field does have an index and, although calculated, it is the primary key. That's one of the neat things about ElevateDB ... it'll allow > indices on calculated fields. > > This worked in a past version of ElevateDB, just not the current release. > |
Sat, May 16 2009 1:00 PM | Permanent Link |
Sean | Greg,
Seems like a great way to get uniqueness without a guid. Out of curiosity, what kind of field are you using to hold the ContactID? Sean Greg Bishop wrote: > Sean: > > I thought I'd expand on this a little bit. > > I have two other fields: ID (autoincremented integer) and DBID (an integer). This isn't the case yet, but my application might eventually get > installed at more than one location. Each installation would have a unique DBID (Database ID) that gets populated into the DBID field during eac > row insert via a trigger. Each installation would also autoincrement the ID field beginning at 1. ContactID (in the case of the Contact table) is > calculated from ID and DBID; it is also defined as the primary key. Therefore, each installation can have duplicated autoincremented IDs, but > because of the calculated ContactID, it will have a unique primary key. This way I don't need compounds keys, which I don't like using. > > This scheme was proposed by others (Tim, I think) in these newsgroups ... just to give credit where it is due. It is intended to make (eventual) > replication easier without needing GUIDs or a more complex scheme to ensure unique primary keys. > > Greg > |
Page 1 of 2 | Next Page » | |
Jump to Page: 1 2 |
This web page was last updated on Tuesday, April 30, 2024 at 03:55 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |