dbgrd1: TDBGrid;
qry1: TADOQuery;
dbgrd1.Columns[s].Grid.FieldCount //获取DBgrid列的数目
qry1.FieldList.Count //获取列的数目
dbgrd1.Columns[s].Grid.Fields[k].value //获取表格某行的值
qry1.RecordCount //获取qry1所获取元素的数目,包括标题
qry1.Recordset.PageCount//分页页面显示的数目
qry1.Recordset.PageSize//分页页面的大小
改变dbgrid的方框的颜色
1:双击OnDrawColumnCell
在procedure dbgrd1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);过程里面写实现方法
procedure TForm1.dbgrd1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
if (qry1.RecordCount mod 2)=1 then //每列不同的显示结果
begin
with (Sender as TDbGrid).Canvas do //进入到canvas页面布局里面
begin
Brush.Color:=$00FFFFC1; //修改颜色
end;
end;
(Sender as TDbGrid).DefaultDrawColumnCell(Rect,DataCol,Column,State); //将颜色填充到布局里面
end;
获取纵向选择的索引
dbgrd1.SelectedIndex
TDBgrid 获取指定的行和列的值
dbgrd1.Columns.Grid.Fields[dbgrd1.SelectedIndex].Value
dbgrd1设置多选
将dgMulitSelect改成true
option->dgMulitSelect =true
StringGrid
1:Cells[列,行]:=value;
//绑定数据对象
procedure TForm1.btn1Click(Sender: TObject);
var
qry2: TADOQuery ;
var
Node:TTreeNode;
begin
qry2:=TADOQuery.Create(nil);//创建一个对象
qry2.Connection:=con1;
qry2.SQL.Add('exec test test');
ds1.DataSet:=qry2 ; //绑定dateset
qry2.Open;
qry2.First;//游标移动到指定的行
while not qry2.Eof do
begin
Node:= tv1.Items.AddFirst(nil,qry2.FieldByName('StudentID').AsString);
tv1.Items.AddChildFirst( Node,qry2.FieldByName('StudentName').AsString);//获取字段的值
tv1.Items.AddChildFirst( Node,qry2.FieldByName('StudentAge').AsString);//获取字段的值
qry2.Next;//游标移动到下一行
end;
end;