X11
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: А почему, если не секрет, не хочется использовать промежуточный DataSet? | Вот у меня, например, идёт отправка выделенных записей cxGrid`а в промежуточный датасет (девовский), тоже привязанный к другому cxGrid`у. Оооочень медленно. В dxMemData уже все поля созданы в дизайне. Вот код, может я что-то забыл? Код: procedure TfmMain.OtborByCxGrid(FromGrid, ToGrid:TcxGridDBTableView); Var i, i2, f:Integer; DataSet1:TDataset; cxGridDBColumn :TcxGridDBColumn; begin if (FromGrid = nil) or (ToGrid = nil) then Exit; Screen.cursor := crSQLWait; with FromGrid.DataController.DataSet do try if not ToGrid.DataController.DataSource.DataSet.active then ToGrid.DataController.DataSource.DataSet.Open; DisableControls; DataSet1 := ToGrid.DataController.DataSource.DataSet; for i:=0 to FromGrid.Controller.SelectedRecordCount-1 do begin //не пихаем в таблицу отбора одинаковые записи i2 := FromGrid.Controller.SelectedRecords[i].Values[FromGrid.GetColumnByFieldName('ID').Index]; if DataSet1.Locate('ID', i2,[] ) then Continue; DataSet1.Append; for f := 0 to DataSet1.FieldCount-1 do begin cxGridDBColumn := FromGrid.GetColumnByFieldName(DataSet1.Fields[f].FieldName); if cxGridDBColumn <> nil then DataSet1.Fields[f].Value := FromGrid.Controller.SelectedRecords[i].Values[cxGridDBColumn.Index]; end; DataSet1.post; end;//for i:=0 to FromGrid.DataController.GetSelectedCount-1 do finally EnableControls; Screen.cursor := crDefault; end;//try end; |
---------- /не мы такие, жизнь такая/ |
|