procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
I: Integer;
begin
case Key of
VK_RETURN: begin
I := TDBGrid(Sender).SelectedIndex;
if I + 1 < TDBGrid(Sender).Columns.Count then
Inc(I)
else I := 0;
while (I <> TDBGrid(Sender).SelectedIndex)
and (not TDBGrid(Sender).Columns[I].Visible) do begin
if I + 1 < TDBGrid(Sender).Columns.Count then
Inc(I)
else I := 0;
end;
if (I <= TDBGrid(Sender).SelectedIndex) and
Assigned(TDBGrid(Sender).DataSource) and
Assigned(TDBGrid(Sender).DataSource.DataSet) then
TDBGrid(Sender).DataSource.DataSet.Next;
TDBGrid(Sender).SelectedIndex := I;
end;
end;
end;function GetDBGridEdit(mDBGrid: TDBGrid): TEdit;
var
I: Integer;
begin
Result := nil;
with mDBGrid do for I := 0 to Pred(ComponentCount) do
if Components[I] is TCustomEdit then begin
Result := TEdit(Components[I]);
Break;
end;
end; { GetDBGridEdit }procedure TForm1.DBGrid1Enter(Sender: TObject);
begin
TDBGrid(Sender).EditorMode := True;
if Assigned(GetDBGridEdit(TDBGrid(Sender))) then
GetDBGridEdit(TDBGrid(Sender)).Color := clYellow;
end;
Shift: TShiftState);
var
I: Integer;
begin
case Key of
VK_RETURN: begin
I := TDBGrid(Sender).SelectedIndex;
if I + 1 < TDBGrid(Sender).Columns.Count then
Inc(I)
else I := 0;
while (I <> TDBGrid(Sender).SelectedIndex)
and (not TDBGrid(Sender).Columns[I].Visible) do begin
if I + 1 < TDBGrid(Sender).Columns.Count then
Inc(I)
else I := 0;
end;
if (I <= TDBGrid(Sender).SelectedIndex) and
Assigned(TDBGrid(Sender).DataSource) and
Assigned(TDBGrid(Sender).DataSource.DataSet) then
TDBGrid(Sender).DataSource.DataSet.Next;
TDBGrid(Sender).SelectedIndex := I;
end;
end;
end;function GetDBGridEdit(mDBGrid: TDBGrid): TEdit;
var
I: Integer;
begin
Result := nil;
with mDBGrid do for I := 0 to Pred(ComponentCount) do
if Components[I] is TCustomEdit then begin
Result := TEdit(Components[I]);
Break;
end;
end; { GetDBGridEdit }procedure TForm1.DBGrid1Enter(Sender: TObject);
begin
TDBGrid(Sender).EditorMode := True;
if Assigned(GetDBGridEdit(TDBGrid(Sender))) then
GetDBGridEdit(TDBGrid(Sender)).Color := clYellow;
end;
解决方案 »
- 在函数中怎么得到一个过程中的一个参数的值.
- 100分求SQL语句,如果分不够可以加。
- 二代身份证色彩检测问题,挑战高难度,高手应招.
- 请问:如何在DLL文件中保存一个内存地址,让主程序写入地址后,子程序再读取?
- delphi7的DBExpress如何连接MS SQL?
- 使用ADOconnection连接到SQLserver数据库,在多次连接-执行插入数据操作-断开-连接后会出现数据库连接异常
- 请问各位高手,怎样用delphi调用一个应用程序?
- 请大家快来申请delphi斑竹
- 如何将光标从隐藏起来,请指教。谢谢
- 各位DELPHI前辈,我怎么判断某一天是否为星期日?谢谢帮忙了 !!!
- 如何将窗体动态嵌入到另一个窗体中。
- 如何把我写的程序放在CSDN上,各位看了给点意见。也好改进呀。
请问老兄一个问题:您用Delphi几年了?我什么时候能到你这种水平呢?
foxbase 0.5 年
turbo pascal 1年
delphi 2.5年不断实践中.............