while not eof do
       begin
        //if fieldbyname('code').asstring='001' then
          checklistbox1.items.add(fieldbyname(name).asstring);
       next;
       end;
想加个判断,当code=001时,checked为true,该如何写,谢谢了delphichecked

解决方案 »

  1.   

    Checklistbox1.Checked[i] := true;
      

  2.   


    var
      i: integer;
    begin
       while not eof do
       begin
          i := checklistbox1.items.add(fieldbyname(name).asstring);
          if fieldbyname('code').asstring='001' then
            Checklistbox1.Checked[i] := true;
          next;
       end;
    end;
      

  3.   

    能否还使该项为enable=false?checklistbox1.itemenable[i]=false 结果都变所有项都变成灰色了
      

  4.   


    var
      i: integer;
    begin
       while not eof do
       begin
          i := checklistbox1.items.add(fieldbyname(name).asstring);
          if fieldbyname('code').asstring='001' then
          begin
            Checklistbox1.Checked[i] := true;
            checklistbox1.ItemEnabled[i] := False;
          end;
          next;
       end;
    end;
      

  5.   


    多加一行:checklistbox1.ItemEnabled[i] := False;
      

  6.   

    谢谢7288,这个已经验证正确了
    我是刚开始学delphi,还是不明白
    i := checklistbox1.items.add(fieldbyname(name).asstring); 这个赋值过程
      

  7.   


    i := checklistbox1.items.add(fieldbyname(name).asstring);add方法返回的是个整型数据,返回的这个结果是你刚添加的字符串在CheckListBox中的位置(Index,即多少行)