2> (没分号) ELSE
<语句0>;
表达式用“=”或布尔类型,如not ADOQuery1.EOF
存在
问题 aq,recordcount
清空文本框
edit1.clear; edit1.Text:='';
控件介绍
DBGrid(可直接修改表,默认会去掉列数据末尾的0)
事件:keydown,keypress,与aq,at联动的afterscroll
列名Columns[0].Title.Caption
列数columns.count //recordcount(aq,at)
列数据源Columns[0].Fieldname (aq,at) //fieldbyname('列名').AsString (aq,at)
当前列号,从零开始DBGrid1. SelectedIndex (当前列号,从1开始) ADOTable1.recno
表对齐align
列数据对齐columns[0].Alignment
列标题对齐Columns[0].Title.Alignment :=taCenter
表只读DBGrid1.ReadOnly:=true; 或可视化里options双击,将DBEditing设为false
列只读columns[0].ReadOnly
font.Name:='宋体'; font.Size:=9;
Columns.clear Columns.Add
DBGrid,Form布局
Columns[0].Width:=8*10
columns[0].Alignment:=taRightJUstify;
columns[0].Title.Alignment:=taRightJUstify; Columns[0].Font.Name:= '宋体'
columns[0].Title Font.Name:=t '宋体'
宽度
x:=GetSystemMetrics(SM_CYVSCROLL)+18; for i:=0 to dbgrid1.columns.count-1 do begin
x:=x+dbgrid1.columns[i].width+1; end;
width:=x+7;
DBGrid数据源
ac创建临时表
with adocommand1 do begin
CommandText:='drop table tmp select productid products';
execute; end;
with adotable1 do begin Close;
TableName:='tmp'; Open; end;
into tmp from
aq
查询,在Grid中增加列 with adoquery1 do begin Close;
SQL.Text:='select Productid from products'; Open; end;
Columns[0].Title.Caption:='产品编码';
Columns[0].Fieldname:='Productid';//若select修改了列名,则要用修改
后的列名,同时可以去掉Columns[0].Title.Caption:=’产品编码’;
DBGridEh(与Grid类似,可通过aq,at连1)
行高
Rowheight:=19; 多重标题 TitleLines:=2;
UseMultiTitle:=true;
Columns[0].Title.Caption:='a|b'; Columns[1].Title.Caption:='a|c'; 列数据源
columns[0].FieldName:='Productid'; 第一列固定
dbgrideh1.FrozenCols:=1; 合计汇总
DBGridEh1.SumList.Active:=True; DBGridEh1.FooterRowCount:=1;
DBGridEh1.Columns[0].Footers.add;
DBGridEh1.Columns[0].Footers[0].ValueType:=fvtStaticText; DBGridEh1.Columns[0].Footers[0].Value:='合计';
DBGridEh1.Columns[3].Footers.add;
DBGridEh1.Columns[3].Footers[0].ValueType:=fvtSum; //求平均fvtavg DBGridEh1.Columns[3].Footers[0].FieldName:='quantity'; //列名
Combobox(OnChang事件)
赋值
with adoquery1 do begin
Close;
SQL.Text:='select * from products'; Open;
while not Eof do begin
combobox1.Items.Add(trim(FieldByName('productname').AsString)); Next; end; end; 或者
adoquery1.Close;
adoquery1.SQL.Text:='select * from products'; adoquery1.Open;
while not adoquery1.Eof do begin
combobox1.Items.Add(trim(adoquery1.FieldByName('productname').AsString));
adoquery1.Next; end;
从文件中读取
ComboBox1.Items.LoadFromFile(); 取值(OnChange事件)
edit1.Text:=combobox1.Text; //当前行 行数
Combobox1.Items.Count 直接调用某行(循环用)
edit1.Text:=combobox1.Items[i] ; //某行
显示某行
ComboBox1.ItemIndex:=0; AfterScroll
for i := 0 to Combobox1.Items.Count - 1 do begin
if combobox1.Items[i]=ADOTable1.FieldByName('类别名称').AsString then
break; end;
ComboBox1.ItemIndex:=i;
DBLookupComboBox赋值(设置listsourse不是DateSource,能与Grid联动,CloseUp事件)
赋值(aq,at)
adoquery1.Close;
adoquery1.SQL.Text: