while not form1.Query1.Eof do
 begin
  form1.listbox1.Items.Append(form1.query1.Fields[4].Asstring);
  form1.query1.Next;
 end;
//其中的Fields[4]是“姓名”字段

解决方案 »

  1.   

    不是这样子的,我想用dbgrid,dbgrid不是可以多选吗?我是想把选中的项的字段值
    添加到另一个窗体的listbox中去
      

  2.   

    为什么不用dblookuplistbox直接关联阿?
      

  3.   

    可以在OnCellClick事件中添加代码
    while not form1.Query1.Eof do
     begin
      form1.listbox1.Items.Append(form1.query1.Fields[4].Asstring);
      form1.query1.Next;
     end;
      

  4.   

    不是在那个事件里写的,要在onDragover和ondragdrop写。看delphi的帮助了吗。举的例子里就有呀。再仔细看看吧。好运!
      

  5.   

    用那两个事件可以直接将DbGrid中的记录直接拖动到listbox中
      

  6.   

    for i:=0 to DBGrid1.SelectedRows.Count-1 do
      begin
        ListBox1.Items.Add(ADODataSet1.FieldByName('a').Asstring);
        ADODataSet1.Next;
      end;
      

  7.   

    for i:=0 to DBGrid1.SelectedRows.Count-1 do
    begin
        ADODataSet1.GotoBook(pointer(DBGrid1.SelectedRows.Items[i]));
        ListBox1.Items.Add(ADODataSet1.FieldByName('a').Asstring);
        ADODataSet1.Next;
    end;
      

  8.   

    同意冰雪的做法,因为你是把对DBGrid中被选中的行记录的姓名增加到你的ListBox中,所以不能用DBLoopupBox之类的控件,那样无法控制的,还有洋雪
    的程序断应加一句:ListBox1.Items.Clear;这样能保证在重新选择的进修ListBox1中的选项是最新的!