[cxGrid] Change Multi-Selected Records


//0.Search Manual: TcxCustomDataController.ForEachRow

//1. set properties for multi-selection
----------------------------------------------------------
MainGridView.OptionsSelection.MultiSelect := true;
MainGridView.DataController.KeyFieldNames := 'SONo';
FSelectSONoList := TStringList.Create;
----------------------------------------------------------

//2.prepare a callback function to save what you would selected
----------------------------------------------------------
procedure TfrmSOSchedule.SaveSelectedSO(ARowIndex: Integer;
 ARowInfo: TcxRowInfo);
begin
 with MainGridView.DataController do
 begin
    //test whether a row is a data record
    if ARowInfo.Level = Groups.GroupingItemCount then
   FSelectSONoList.Add(String(GetRecordId(ARowInfo.RecordIndex)));
 end;
end;
----------------------------------------------------------

//3.use the selected entries
----------------------------------------------------------
procedure TfrmSOSchedule.btnUpdateSelectedSOClick(Sender: TObject);
var
 i: Integer;
begin
 FSelectSONoList.BeginUpdate;
 try
    FSelectSONoList.Clear;
    MainGridView.DataController.ForEachRow(true, SaveSelectedSO);
 finally
    FSelectSONoList.EndUpdate;
 end;

 with MainGridView.DataController.DataSource.DataSet do
 begin
    DisableControls;
    try
   for i := 0 to FSelectSONoList.Count - 1 do
   begin
     if Locate('SONo', FSelectSONoList[i], []) then
    FindField('status').AsInteger := 1;
   end;
    finally
   PostSaleOrders;
   EnableControls;
    end;
 end;
end;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值