2016-03-29 7 views
-2

メモに選択したDBGridレコードレコードを表示する方法はありますか? このタイプのコードを試しましたが、これは列のタイトルを示し、フィールドのテキストを表示します。メモにDBGrid行が表示される

procedure TForm6.btnShowClick(Sender: TObject); 
    var 
     l: String; 
     p: Integer; 
     i: Integer; 
     m: String; 
    begin 
     m:=''; 

     for p := 0 to dbGrid1.Columns.Count - 1 do 
     m:=m+(format('%s',[dbGrid1.Columns[p].Title.Caption]))+lm; 
     Memo1.Lines.Add(m); 

     if Dbgrid1.SelectedRows.Count>0 then 
     begin 
      with dbgrid1.DataSource.DataSet do 
      begin 
      l:=' '; 
      GoToBookMark(tBookmark(dbGrid1.SelectedRows[i])); 

      for p := 0 to Dbgrid1.Columns.Count - 1 do 
      begin 
       l:=l+(format('%s',[dbgrid1.Columns[p].Field.AsString])); 
      end; 

      Memo1.Lines.Add(l) ; 
      end; 
     end;   
     end; 
    end. 

私はそれは、フィールドのテキストを使用しますが、それが動作しないように[dbgrid1.Columns [P] .Field.AsString]を変更しようとしました。注 - これは私が使用したいと思うテンプレートコードです

メモで単に選択されたレコードを表示する簡単な方法はありますか?

+2

申し訳ありませんが、あなたの質問には意味がありません。まず、dbgrid1.Columns [p] .Field.AsString] **は、タイトルではなく列セルの値を返します。第二に、Sqlはあなたが求めているものと何をしていますか? – MartynA

+0

_currentの行_と_の選択された行の違いを知っていますか? 'SelectedRows'プロパティは、_selected_としてマークされた行のリストを返します。これは、基になるデータセットの現在のレコードに対応する_current行と同じではありません。ここで 'SelectedRows'を本当にしたいのか分かりません。 –

+0

あなたは 'GoToBookMark(tBookmark(dbGrid1.SelectedRows [i]));'の 'i'インデックスをどこにも設定していないようです。 –

答えて

-1

文字列データをセル[x、y]プロパティに格納できるため、標準グリッドの代わりにStringGridを使用します。それ以外のものはすべて同じコードになります。

+0

ではありませんこの回答はTMemoに何かを表示することと何が関係していますか? –

関連する問題