当前位置:文档之家› cxGrid使用记录

cxGrid使用记录

cxGrid使用记录
cxGrid使用记录

cxgrid双击获取所点击行的内容

创建view的optionsselection->cellselect设置为false ,才能触发双击事件

案例:

procedure TForm_Child_Archive.cxGrid1DBTableView1CellDblClick( Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo;

AButton: TMouseButton; AShift: TShiftState; varAHandled: Boolean); begin3

////取得所双击列的列表头名称ACellViewInfo.Item.Index为所双击列

//ShowMessage(cxGrid1DBTableView1.Columns[ACellViewInfo.Item.Inde x].Caption);

with cxGrid1DBTableView1.DataController do

begin

//取某行某列的值,取第5列,参数4

ShowMessage(Values[FocusedRecordIndex,4]);

end;

end;

其他:

如果不需要对单元格进行选择可:设置CXGrid的TableView对象的OptionsSelection->CellSelect为False;

如果需要对单元格进行选择可:设置CXGrid的TableView对象的OptionsData中的全部属性为False;

cxgrid的多选记录修改记录问题

cxgrid多选,有可能是连续的,有可能是隔了其他记录的

cxgrid把cxGrid1DBTableView1--》optionselection--》multiselect设为true就可以了

GridView.DataController.DataModeController.GridMode=True;

修改选中的记录中一个字段:

sample1:

procedure TForm1.btnSelectValueClick(Sender: TObject);

var

I, J:Integer;

begin

for I:=0 to tvcxgd1DBTableView1.DataController.GetSelectedCount-1 do begin

J:=tvcxgd1DBTableView1.DataController.GetSelectedRowIndex(I);

ShowMessage(VarToStr(tvcxgd1DBTableView1.DataController.GetValu e(J,0)));

end;

end; sample2:

Var

i:integer;

begin

For i:=0 To cxGrid1DBTableView1.Controller.SelectedROwCount-1 Do

begin

cxGrid1dbtableview1.Controller.FocusedRow:=cxGrid1dbtableview1.Co ntroller.SelectedRows[i];

Adoquery1.Edit;

Adoquery1.FieldByName('DeptName').AsString:=Edit1.Text

Adoquery1.Post;

end;

end;

进行cxgrid多行记录删除

procedure TForm1.Button1Click(Sender: TObject);

var

i : integer;

sID : string;

adotmp :TADOQuery;

begin

//Values[0] 为字段a

//Values[1] 为标识字段

//cxgrdItemList为cxGrid

sID := '0';

for i := 0 to cxgrdItemList.DataController.Controller.SelectedRecordCount - 1 do

begin

if cxgrdItemList.DataController.Controller.SelectedRecords[i].Values[0] = True then

continue;

sID := sID + ', ' +

cxgrdItemList.DataController.Controller.SelectedRecords[i].Values[1];

end;

adotmp := TADOQuery.Create(nil);

withadotmp do

try

{自己写

Connection := ;

}

sql.Text := 'delete from yTbName where ID in (' + sID + ')';

ExecSQL;

finally

free;

//刷新一下cxgrid的dataset;

end;

end;

相关主题
相关文档 最新文档