全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1474
推到 Plurk!
推到 Facebook!

請教dbgrid與label

 
jiannrong
一般會員


發表:58
回覆:36
積分:18
註冊:2002-05-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-07-31 15:35:37 IP:140.109.xxx.xxx 未訂閱
請教一下 我可以將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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-07-31 16:33:57 IP:61.221.xxx.xxx 未訂閱
我的方法給你參考看看。    
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-07-31 23:51:30 IP:61.70.xxx.xxx 未訂閱
可是 若參考 您的作品 我會出現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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-08-01 12:17:46 IP:61.221.xxx.xxx 未訂閱
你少加了一個東西
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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-09-08 01:55:12 IP:61.70.xxx.xxx 未訂閱
想請教一下 若我希望 能夠採用機動性質 就是當我滑鼠點選Grid上的列數 就會告訴我 這是第幾筆的資料 那我這個動作 要寫在哪裡呢 我的資料庫內 只有用到 用到Query Datasouce 與 Database 沒有用到dotaset
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-09-08 08:14:41 IP:211.22.xxx.xxx 未訂閱
引言: 想請教一下 若我希望 能夠採用機動性質 就是當我滑鼠點選Grid上的列數 就會告訴我 這是第幾筆的資料 那我這個動作 要寫在哪裡呢 我的資料庫內 只有用到 用到Query Datasouce 與 Database 沒有用到dotaset
寫在 Query1 的 AfterScroll 事件中(但不適用 Client/Server 架構) ex:
procedure TForm1.Query1AfterScroll(DataSet: TDataSet);
begin
  Label1.Caption := '第 '   IntToStr(Query1.RecNo)   ' 筆'; 
end;
系統時間:2024-05-05 12:40:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!