Delphi(Pascal) codeif ado1.fieldbyname('a').asinteger=1 then
  chbox1.checked:=true
else
  chbox1.checked:=false;
为什么总显示dbgrid第一条数据,点击其他的行checkbox总是显示第一条数据的内容。再一个修改怎么修改呢?急求

解决方案 »

  1.   

    是不是其它行的asinteger的值不等於1???
    建議直接將ado連接好dbgrid,這列checkbox所對應的數據值為bit字段的數據(如:0代表為不打勾,1代表打勾;)連接好數據表,你再直接進行勾選動作,應該沒有問題
      

  2.   

    初始时,open后都会指向第一条记录,如果你不点击单元格即切换记录,那就永远都是第一条
    修改ado1.Edit;
    if chbox1.checked then
      ado1.fieldbyname('a').asinteger := 1
    else
      ado1.fieldbyname('a').asinteger := 0;
    ado1.Post;