如何在DBGRid中规定一条记录里只允许填入两个字段中的任一个字段?(50分)

  • 主题发起人 主题发起人 tongjijiji
  • 开始时间 开始时间
T

tongjijiji

Unregistered / Unconfirmed
GUEST, unregistred user!
对DataSet的Field写东西,Field.OnChange然后判断就可以了
 
我的意思是当时就不允许,而不是scroll以后判断
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, Grids, DBGrids, ExtCtrls, DBCtrls;

type
TForm1 = class(TForm)
Query1: TQuery;
Query1EmpNo: TIntegerField;
Query1LastName: TStringField;
Query1FirstName: TStringField;
Query1PhoneExt: TStringField;
Query1HireDate: TDateTimeField;
Query1Salary: TFloatField;
DBNavigator1: TDBNavigator;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
procedure Query1PhoneExtChange(Sender: TField);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Query1PhoneExtChange(Sender: TField); //Query1HireDate的OnChange事件也在这
begin
query1PhoneExt.ReadOnly:=Query1HireDate.asvariant<>Null;
query1HireDate.ReadOnly:=Query1PhoneExt.asvariant<>Null;
end;

end.

你试试?
 
换了一条记录就不行了,不过我改到ColEnter里面了,现在好了,谢谢:)
 
你在DataSet的AfterScroll再写一点,也是可以的。
 

Similar threads

回复
0
查看
999
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部