X11
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Пользователи попросили ограничить перебор выделенными записями (когда есть выделение) | Цикл по выделенным записям грида уже обсуждали много раз. Код: Var i: integer; ARowIndex: Integer; ARowInfo: TcxRowInfo; begin with dbgMail.dataController do begin beginupdate; Screen.Cursor := crHourGlass; try for I := 0 to GetSelectedCount - 1 do begin ARowIndex := GetSelectedRowIndex(I); ARowInfo := GetRowInfo(ARowIndex); if ARowInfo.Level < Groups.GroupingItemCount then Continue else begin //unbound or provider mode ShowMessage(VarToStr(Values[ARowInfo.RecordIndex, dbgMailMessage.Index])); end;//else end;//for finally endupdate; Screen.Cursor := crDefault; end;//try end;//with | и ещё вариант Код: procedure TfmMediatorsRep.ForAllMed(ARowIndex: Integer; ARowInfo: TcxRowInfo); Var cName, cTel :string; begin with dbgMed.DataController do begin //Test whether a row is a data record if ARowInfo.Level = Groups.GroupingItemCount then //unbound or provider mode begin cName := Copy(Values[ARowInfo.RecordIndex, dbgMedMEDIATOR.Index] + ' ', 1, StrToInt(seSimbolslength.Value)); cTel := Copy(Values[ARowInfo.RecordIndex, dbgMedP_Tel.Index] + ' ', 1, StrToInt(seSimbolslength.Value)); rePreview.Add(cName + edDiv.text + cTel); end; end; end; //Используем with dbgMed.DataController do begin BeginUpdate; try ForEachRow(false, ForAllMed); finally EndUpdate; end; end; | В справке почитайте про ForEachRow.
---------- /не мы такие, жизнь такая/ |
|