procedure TForm1.Button1Click(Sender: TObject);
var
  i:integer;
begin
  CheckListBox1.Clear;
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select * from XXX');
  ADOQuery1.Open;  ADOquery1.First;
  While ADOQuery1.Eof<>True then
    begin
      CheckListBox1.Items.Add(ADOQuery1.fieldByName('字段名1').AsString+'   '+ADOQuery1.fieldByName('字段名2').AsString);
    end;
   end;假设字段1和字段2都是50个字符,但第一条记录内容很少而第二条内容很多取出来排列就成了1  1
2222222222  222222222222很不好看,CheckListBox1.Items 有没有类试于TListItem那样可以加SubItems这样一排排下来1                  1
222222222          222222222222
还有CheckListBox如何加标题栏吗?

解决方案 »

  1.   

    ADOquery1.First;
      While ADOQuery1.Eof<>True then
        begin
          CheckListBox1.Items.Add(ADOQuery1.fieldByName('字段名1').AsString+'   '+ADOQuery1.fieldByName('字段名2').AsString);
           ADoQuery1.Next;//忘记写这句了吧-----------
        end;CheckListBox没有标题栏吧
      

  2.   

    你用CheckListBox就是要哪个Box框吧,TListView也有的,把他的一个属性设置为true就可以了,我忘记了,CheckListBox很难实现并排排列数据的,除非每个item数据 中间加空格等等方法吧
      

  3.   

    if str<max(length) then
      str:=str+' '