Add context menu item in data grid for inserting a column's default value. Fixes issue #2654.

This commit is contained in:
Ansgar Becker
2011-12-26 23:55:17 +00:00
parent b1a58e1ce2
commit e6fbe6ec79
2 changed files with 25 additions and 8 deletions

View File

@ -2521,7 +2521,7 @@ object MainForm: TMainForm
end
object actDataSetNull: TAction
Category = 'Data'
Caption = 'Set NULL'
Caption = 'NULL'
Enabled = False
Hint = 'Set focused cell to NULL'
ImageIndex = 92
@ -8475,13 +8475,18 @@ object MainForm: TMainForm
object Paste2: TMenuItem
Action = actPaste
end
object setNULL1: TMenuItem
Action = actDataSetNull
end
object DataInsertValue: TMenuItem
Caption = 'Insert value'
ImageIndex = 80
OnClick = DataInsertValueClick
object setNULL1: TMenuItem
Action = actDataSetNull
end
object DataDefaultValue: TMenuItem
Caption = 'default'
ImageIndex = 28
OnClick = InsertValue
end
object DataDateTime: TMenuItem
Caption = 'datetime'
Hint = 'Insert datetime-value'
@ -8512,9 +8517,6 @@ object MainForm: TMainForm
ImageIndex = 80
OnClick = InsertValue
end
object N2: TMenuItem
Caption = '-'
end
object DataGUID: TMenuItem
Caption = 'GUID'
ImageIndex = 112

View File

@ -307,7 +307,6 @@ type
DataTime: TMenuItem;
DataDate: TMenuItem;
DataYear: TMenuItem;
N2: TMenuItem;
DataGUID: TMenuItem;
ViewasHTML1: TMenuItem;
InsertfilesintoBLOBfields3: TMenuItem;
@ -535,6 +534,7 @@ type
Exportgridrows1: TMenuItem;
Synchronizedatabase2: TMenuItem;
QF20: TMenuItem;
DataDefaultValue: TMenuItem;
procedure actCreateDBObjectExecute(Sender: TObject);
procedure menuConnectionsPopup(Sender: TObject);
procedure actExitApplicationExecute(Sender: TObject);
@ -5604,6 +5604,8 @@ var
Uid: TGuid;
UnixTimestamp: Int64;
SystemTime: TSystemTime;
ColNum: TColumnIndex;
Col: TTableColumn;
begin
DecodeDateTime(Now, y, m, d, h, i, s, ms);
DataDateTime.Caption := 'DATETIME: ' + Format('%.4d-%.2d-%.2d %.2d:%.2d:%.2d', [y,m,d,h,i,s]);
@ -5615,6 +5617,19 @@ begin
DataUNIXtimestamp.Caption := 'UNIX Timestamp: ' + IntToStr(UnixTimestamp);
CreateGuid(Uid);
DataGUID.Caption := 'GUID: ' + GuidToString(Uid);
ColNum := DataGrid.FocusedColumn;
DataDefaultValue.Caption := 'Default: ?';
DataDefaultValue.Enabled := False;
if ColNum <> NOCOLUMN then begin
for Col in SelectedTableColumns do begin
if (Col.Name = DataGrid.Header.Columns[ColNum].Text) and (Col.DefaultType = cdtText) then begin
DataDefaultValue.Caption := 'Default: '+Col.DefaultText;
DataDefaultValue.Enabled := True;
break;
end;
end;
end;
end;