請教dbgrid與label |
|
jiannrong
一般會員 發表:58 回覆:36 積分:18 註冊:2002-05-09 發送簡訊給我 |
請教一下 我可以將DBGrid1上的筆數 送到label上顯示嗎
我想在label上面顯示我的DBGrid的總筆數與我點選的是第幾筆
請教一下 我該如何做呢
因為 label12.Caption :=inttostr(Query1.FieldCount);
這裡的Query1.FieldCount的值是錯誤的
懇請賜教
謝謝 procedure TFormSQL.Button1Click(Sender: TObject);
var
i, j: Integer;
s: string;
begin
Query1.close;
Query1.SQL.Clear;
try
Query1.SQL.ADD('' edit1.text '');
Query1.Prepare;
Query1.Open;
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
for j := 0 to FieldCount-1 do
begin
if (j>0) then s:=s ', ';
s:=s Fields[j].AsString;
end;
s:= '';
end;
except
on E: Exception do
begin
ShowMessage(E.Message);
end;
end;
label12.Caption :=inttostr(Query1.FieldCount);
end;
|
阿子
站務副站長 發表:120 回覆:230 積分:201 註冊:2002-03-18 發送簡訊給我 |
我的方法給你參考看看。
procedure TFormSQL.Button1Click(Sender: TObject); var i, j: Integer; s: string; begin with Query1 do begin close; SQL.Clear; try SQL.ADD('' edit1.text ''); Prepare; Open; if DBGrid1.SelectedRows.Count > 0 then with DBGrid1.DataSource.DataSet do for i := 0 to DBGrid1.SelectedRows.Count - 1 do begin GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i])); for j := 0 to FieldCount - 1 do begin if (j > 0) then s := s ', '; s := s Fields[j].AsString; end; s := ''; end; except on E: Exception do begin ShowMessage(E.Message); end; end; label12.Caption := format('共有%d筆在第%d筆', [RecordCount, RecNo]); end; // with end;從思考取勝一切~q
------
從思考取勝一切~q |
jiannrong
一般會員 發表:58 回覆:36 積分:18 註冊:2002-05-09 發送簡訊給我 |
可是 若參考 您的作品
我會出現Undeclared identifier:'RecordCount' 所以 'RecordCount' 這個 該如何設定呢?! 要做宣告嗎
可是做過宣告之後 得到的數據又不對
請教一下 我該如何修改呢
謝謝 程式部分如下
procedure TFormSQL.Button1Click(Sender: TObject);
var
i, j: Integer;
s: string;
//RecordCount, RecNo:integer;
begin
Query1.close;
Query1.SQL.Clear;
try
Query1.SQL.ADD('' edit1.text '');
Query1.Prepare;
Query1.Open;
//dbgird的問題
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
for j := 0 to FieldCount-1 do
begin
if (j>0) then s:=s ', ';
s:=s Fields[j].AsString;
end;
//Listbox1.Items.Add(s);
s:= '';
end;
Label12.Caption := format('共有%d筆在第%d筆', [RecordCount, RecNo]);
except
on E: Exception do
begin
ShowMessage(E.Message);
end;
//Label12.Caption := format('共有%d筆在第%d筆', [RecordCount, RecNo]);
end;
//Label12.Caption := format('共有%d筆在第%d筆', [RecordCount, RecNo]);
//Label12.Caption := format('共有%d筆在第%d筆', [RecordCount, RecNo]);
end;
|
阿子
站務副站長 發表:120 回覆:230 積分:201 註冊:2002-03-18 發送簡訊給我 |
你少加了一個東西
procedure TFormSQL.Button1Click(Sender: TObject); var i, j: Integer; s: string; //RecordCount, RecNo:integer; begin Query1.close; Query1.SQL.Clear; try Query1.SQL.ADD('' edit1.text ''); Query1.Prepare; Query1.Open; //dbgird的問題 if DBGrid1.SelectedRows.Count > 0 then with DBGrid1.DataSource.DataSet do for i := 0 to DBGrid1.SelectedRows.Count - 1 do begin GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i])); for j := 0 to FieldCount - 1 do begin if (j > 0) then s := s ', '; s := s Fields[j].AsString; end; s := ''; end; Label12.Caption := format('共有%d筆在第%d筆', [Query1.RecordCount, Query1.RecNo]); except on E: Exception do begin ShowMessage(E.Message); end; end; end;從思考取勝一切~q
------
從思考取勝一切~q |
jiannrong
一般會員 發表:58 回覆:36 積分:18 註冊:2002-05-09 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
引言: 想請教一下 若我希望 能夠採用機動性質 就是當我滑鼠點選Grid上的列數 就會告訴我 這是第幾筆的資料 那我這個動作 要寫在哪裡呢 我的資料庫內 只有用到 用到Query Datasouce 與 Database 沒有用到dotaset寫在 Query1 的 AfterScroll 事件中(但不適用 Client/Server 架構) ex: procedure TForm1.Query1AfterScroll(DataSet: TDataSet); begin Label1.Caption := '第 ' IntToStr(Query1.RecNo) ' 筆'; end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |