掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
StringGrid上のセルをクリックして、その行の各項目を対応するTEDITコンポ-ネントに表示するには? (ID:38945)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
StringGridはカスタマイズ出来て便利ですが、 慣れないとコード書くのが大変です。 自分はこれに大分苦しめられました。 データの挿入や削除でつじつまが合わなくなって、 テーブルとStringGridの内容が違ってしまったり。 小豚丸さんの言うとおりDBGridを使った方が凄く楽で早いと思います。 取り敢えずStringGridを使った場合のサンプルを書いてみました。 参考になれば幸いです。 procedure TForm1.Button1Click(Sender: TObject); var i1:integer; s1:string; begin table1.DatabaseName := 'DBDEMOS'; table1.TableName := 'animals.dbf'; table1.Active := true; StringGrid1.RowCount := 2; i1 := 1; i2 := 1; while 1 = 1 do begin StringGrid1.Cells[1,i1] := table1.fieldbyname('name').asstring; StringGrid1.Cells[2,i1] := table1.fieldbyname('size').asstring; StringGrid1.Cells[3,i1] := table1.fieldbyname('weight').asstring; StringGrid1.Cells[4,i1] := table1.fieldbyname('area').asstring; i1 := i1 + 1; s1 := table1.FieldByName('name').asstring; table1.Next; if table1.FieldByName('name').asstring = s1 then exit; StringGrid1.RowCount := StringGrid1.RowCount + 1; end; end; procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); begin edit1.Text := StringGrid1.Cells[1,arow]; edit2.Text := StringGrid1.Cells[2,arow]; edit3.Text := StringGrid1.Cells[3,arow]; edit4.Text := StringGrid1.Cells[4,arow]; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.