Render primary key columns in query results in bold font, like in data grid.

This commit is contained in:
Ansgar Becker
2009-12-09 20:03:46 +00:00
parent f03af60357
commit eefdbec81c
2 changed files with 14 additions and 0 deletions

View File

@@ -3988,6 +3988,7 @@ begin
ActiveGridResult.Columns[i].DatatypeCat := Results.DataType(i).Category;
if ActiveGridResult.Columns[i].DatatypeCat in [dtcInteger, dtcReal] then
col.Alignment := taRightJustify;
ActiveGridResult.Columns[i].IsPriPart := Results.ColIsPrimaryKeyPart(i);
end;
debug('mem: query column initialization complete.');
debug('mem: clearing and initializing query rows (internal data).');

View File

@@ -184,6 +184,7 @@ type
function Col(ColumnName: WideString; IgnoreErrors: Boolean=False): WideString; overload;
function DataType(Column: Integer): TDataType;
function ColExists(Column: WideString): Boolean;
function ColIsPrimaryKeyPart(Column: Integer): Boolean;
function IsNull(Column: Integer): Boolean;
function HasResult: Boolean;
property RecNo: Int64 read FRecNo write SetRecNo;
@@ -932,6 +933,18 @@ begin
end;
function TMySQLQuery.ColIsPrimaryKeyPart(Column: Integer): Boolean;
var
Field: PMYSQL_FIELD;
begin
if HasResult and (Column < ColumnCount) then begin
Field := mysql_fetch_field_direct(FLastResult, Column);
Result := (Field.flags and PRI_KEY_FLAG) = PRI_KEY_FLAG;
end else
Result := False;
end;
function TMySQLQuery.IsNull(Column: Integer): Boolean;
begin
Result := FCurrentRow[Column] = nil;