请问怎样取得 TdxDBGrid 多选行的各行各字段的值?
我试了一个晚上了,
Grid.SelectedNodes[i].Strings[j]; //i行,j列
不行,会在
function TdxTreeListNode.GetString(Column: Integer): string;
begin
  Result := FOwner.GetNodeString(Self, Column);
end;
出错.

解决方案 »

  1.   

    搜索一下有很多这样的问题
       with DBGrid1.DataSource.DataSet do
        begin
          for i := 0 to DBGrid1.SelectedRows.Count-1 do
          begin
            GotoBook(Pointer(DBGrid1.SelectedRows.Items[i]));
            取各个字段的值
         end;
        end;
      

  2.   

    with DBGrid1.DataSource.DataSet do
    begin
      for i := 0 to DBGrid1.SelectedRows.Count-1 do
      begin
      GotoBook(Pointer(DBGrid1.SelectedRows.Items[i]));
      begin
        Listbox1.Items.Add(Fields[0].Value);
      end;
    end;
      

  3.   

    给你个例子吧:
      //网格可多选且当选中的项数大于零 begin
      if DxDbg01.SelectedCount > 0 then
      begin
        with DxDbg01.DataSource.DataSet do
        begin
          for intDbg := 0 to DxDbg01.SelectedCount - 1 do
          begin
            GotoBook(pointer(DxDbg01.SelectedRows[intDbg]));
            //---------------------LittleFish添加代码------------------------------
            if GlbstrFormName = 'frmMauPG401' then
              with FrmMauPG401.cdsMauPH do
              begin
                Append;
                FieldByName('PH13').AsString := '退货';
                FieldByName('PH03').AsString :=
                  CdsDatasMulti.FieldByName('OY03').AsString;
                FieldByName('PH12').AsString :=
                  CdsDatasMulti.FieldByName('OY04').AsString;
                FieldByName('PH17').AsString :=
                  CdsDatasMulti.FieldByName('OZ18').AsString;
                FieldByName('PH18').AsString :=
                  CdsDatasMulti.FieldByName('NB06').AsString;
                FieldByName('PH04').AsString :=
                  CdsDatasMulti.FieldByName('OZ03').AsString;
                FieldByName('PH05').AsString :=
                  CdsDatasMulti.FieldByName('MF02').AsString;
                FieldByName('PH06').AsString :=
                  CdsDatasMulti.FieldByName('MF03').AsString;
                FieldByName('PH08').AsString :=
                  CdsDatasMulti.FieldByName('OZ10').AsString;
                FieldByName('PH07').AsString :=
                  CdsDatasMulti.FieldByName('MF04').AsString;
                FieldByName('PH09').AsString :=
                  CdsDatasMulti.FieldByName('MI07').AsString;
                FieldByName('PH10').AsString :=
                  CdsDatasMulti.FieldByName('MI06').AsString;
                FieldByName('PH19').AsString :=
                  CdsDatasMulti.FieldByName('OY02').AsString;
                FieldByName('PH11').AsString :=
                  CdsDatasMulti.FieldByName('total').AsString;
                FieldByName('PH21').AsString :=
                  CdsDatasMulti.FieldByName('OY01').AsString;
                FieldByName('PH14').AsBoolean := false;
              end;
          end;
        end;
      end;
      

  4.   

    DBGrid1.SelectedRows.CurrentRowSelected:=True; //默认当前行为选中状态
      for i:=0 to DBGrid1.SelectedRows.Count -1 do
      begin
        dm.AQry_Employee.GotoBook(Pointer(DBGrid1.SelectedRows.Items[i]));//指向选中行
        .........   end;