帮帮看这段代码,Table1.RecNo的返回值总是 -1,若... 在线等待!!!!(0分)

  • 主题发起人 主题发起人 awind616
  • 开始时间 开始时间
A

awind616

Unregistered / Unconfirmed
GUEST, unregistred user!
if odd(Table1.RecNo) then
(Sender as TDBGrid).Canvas.Brush.Color :=$00D1D2E2
else
(Sender as TDBGrid).Canvas.Brush.Color :=$00D6DBEB ;

在上面代码中,无论Table1返回的记录有多少条,它的Table1.RecNo总是-1,如果要使其
为当前记录编号,应该怎样设置。
而 ADOTable1.RecNo的默认值就是当前的记录编号。
 
没分码???
 
你用的什么库 Prodox ? Access ?
并不是所有的库都支持 RecNo 属性
Prodox 支持
Access 不支持 ,总是返回 -1
 
同意楼上观点。
 
我用adoquery得到是0
 
我用的数据库是MS SQL SERVER。好象TTable 的RecNo默认值总为-1。但用ADO来访问就不存在这种现象。

至于xujia兄弟说的分数问题,我出手一向大方,所以现在没分了。
但在这论坛上,我觉得重要的是学习和交流。
就象有些人整天埋厌薪水低一样,却忘了其实自己也没有干多少活。更重要的没有去好好的提高自己。

好吧,我给出我的一些代码:用来美化DBGrid 的,同样的可以用来美化StringGrid(修改):
procedure TStockForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if gdSelected in State then Exit;

if odd(ADOTable1.RecNo) then
(Sender as TDBGrid).Canvas.Brush.Color :=$00D1D2E2
else
(Sender as TDBGrid).Canvas.Brush.Color :=$00D6DBEB ;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);

with (Sender as TDBGrid).Canvas do
begin
Pen.Color := $00F9F9F7;
MoveTo(Rect.Left, Rect.Bottom);
LineTo(Rect.Right, Rect.Bottom);
Pen.Color := $00F9F9F7;
MoveTo(Rect.Right, Rect.Top);
LineTo(Rect.Right, Rect.Bottom);
end;
end;

以上对高手来说,这些代码不算什么,但应该对一些朋友有帮助。

 
后退
顶部