with form6.adoquery1 do
begin
close;
sql.Clear;
sql.Add('select idate,amount,person,shouzhi,item1,item2,ps from income order by idate desc');
open;
dbgrid1.Columns[0].Title.caption:='日期';
dbgrid1.Columns[1].Title.caption:='金额';
dbgrid1.Columns[2].Title.caption:='经手人员';
dbgrid1.Columns[3].Title.caption:='收/支';
dbgrid1.Columns[4].Title.caption:='收支总类';
dbgrid1.Columns[5].Title.caption:='收支细类';
dbgrid1.Columns[6].Title.caption:='备注';
dbgrid1.Columns[0].Width:=100;
dbgrid1.Columns[1].Width:=64;
dbgrid1.Columns[2].Width:=52;
dbgrid1.Columns[3].Width:=64;
dbgrid1.Columns[4].Width:=64;
dbgrid1.Columns[5].Width:=72;
dbgrid1.Columns[6].Width:=146;
我想问一下为什么会弹出list index out of bounds(1),我在form2用的是同样的组件同样也用adoquery1也用dbgrid1,为什么在form6就会报错,同样的代码啊,该怎么解决啊。
begin
close;
sql.Clear;
sql.Add('select idate,amount,person,shouzhi,item1,item2,ps from income order by idate desc');
open;
dbgrid1.Columns[0].Title.caption:='日期';
dbgrid1.Columns[1].Title.caption:='金额';
dbgrid1.Columns[2].Title.caption:='经手人员';
dbgrid1.Columns[3].Title.caption:='收/支';
dbgrid1.Columns[4].Title.caption:='收支总类';
dbgrid1.Columns[5].Title.caption:='收支细类';
dbgrid1.Columns[6].Title.caption:='备注';
dbgrid1.Columns[0].Width:=100;
dbgrid1.Columns[1].Width:=64;
dbgrid1.Columns[2].Width:=52;
dbgrid1.Columns[3].Width:=64;
dbgrid1.Columns[4].Width:=64;
dbgrid1.Columns[5].Width:=72;
dbgrid1.Columns[6].Width:=146;
我想问一下为什么会弹出list index out of bounds(1),我在form2用的是同样的组件同样也用adoquery1也用dbgrid1,为什么在form6就会报错,同样的代码啊,该怎么解决啊。
var
a: Tstringlist;
f:string
begin
a:= Tstringlist.Create;a.add(1);f:=a[5];//实际上a.count只有1条命令就会出现上面的错误。
end所以应该是你的dbgrid1.Columns[X] X赋值超出了
begin
self.Caption:='Æ·ÃûÑ¡Ôñ';
dxDBGrid1Column1.FieldName:='DEA001';
dxDBGrid1Column1.Caption:='Æ·ºÅ';
dxDBGrid1Column1.Width:=120;
dxDBGrid1Column2.FieldName:='DEA002';
dxDBGrid1Column2.Caption:='Æ·Ãû';
dxDBGrid1Column2.Width:=100;
dxDBGrid1Column3.FieldName:='DEA003';
dxDBGrid1Column3.Caption:='¿â´æµ¥Î»';
dxDBGrid1Column3.Width:=80;
dxDBGrid1Column4.Visible:=false;
dxDBGrid1Column5.Visible:=false;
dxDBGrid1Column6.Visible:=false;
dxDBGrid1Column7.Visible:=false;
dxDBGrid1Column8.Visible:=false;
end;
dbgrid1.Columns[0].Title.caption:='日期';
。
dbgrid1.Columns[6].Width:=146;
各行注释掉,看看能否正常显示。
open;
//加上这句试试?
dbgrid1.datasource.dataset := form6.adoquery1;
//
dbgrid1.Columns[0].Title.caption:='日期';