怎么没有人回答,高手都到DFW去了吗?

解决方案 »

  1.   

    dbgrid.datasource.dataset.fieldbyname('').value
      

  2.   

    给你一个demo,它把dbgrid中的被选中的行的数据读出,显示在listbox中。
    记得首先要把dbgrid的option属性中的dgmultiselect设成true。
    procedure TForm1.Button1Click(Sender: TObject);
    var
      i, j: Integer;
      s: string;
    begin
      if DBGrid1.SelectedRows.Count>0 then
        with DBGrid1.DataSource.DataSet do
          for i:=0 to DBGrid1.SelectedRows.Count-1 do
          begin
            GotoBook(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;
    end;
      

  3.   

    因为Dbgrid是与数据库的数据直接相连的,所以,合法性数据库会直接判断的。例如:你的数据库中的数据类型是int型,那你在dbgrid中是输不进string型的。否则,你只能用其它的输入方式(例如edit),然后把edit中的内容写到数据库表中去。