不用按住 CTRL 键只须用鼠标点击DBGRID中的记录就可以选中多行记录请大高手帮一帮我问题解决高分回报!!!

解决方案 »

  1.   

    把options->dgMultiSelect的属性设为true就可以了
      

  2.   

    只改属性是不行的必需发送系统消息,即不用按CTRL键只要点击记录就选择多行记录。
      

  3.   

    可以阿,設屬性options->dgMultiSelect
      

  4.   

    简单问题,用一个tstringlist储存选中的记录唯一值,在drawcell中判断唯一值是否选中,用不同的颜色来区分,
      

  5.   

    把options->dgMultiSelect的属性设为true
      

  6.   

    楼上的加上我的。
    procedure TForm1.SelectClick(Sender: TObject);
    var
      x: word;
      TempBook: TBookMark;
    begin
      DBGrid1.Datasource.Dataset.DisableControls;
      with DBgrid1.SelectedRows do
      if Count > 0 then
      begin
        TempBook:= DBGrid1.Datasource.Dataset.GetBook;
        for x:= 0 to Count - 1 do
        begin
          if IndexOf(Items[x]) > -1 then
          begin
            DBGrid1.Datasource.Dataset.Book:= Items[x];
            showmessage(DBGrid1.Datasource.Dataset.Fields[1].AsString);  //这里得到数据
          end;
        end;
      end;
      DBGrid1.Datasource.Dataset.GotoBook(TempBook);
      DBGrid1.Datasource.Dataset.FreeBook(TempBook);
      DBGrid1.Datasource.Dataset.EnableControls;
    end;
      

  7.   

    把options->dgMultiSelect的属性设为true
    -----------------------------------------
    你们试验过吗????
    不按CTRL能多选吗???
    请不要误导他人!
      

  8.   

    不按住CTRL是不行的,不过有另外的方法,
    将GRID 连接的数据集中添加一个标志字段FLAG,
    并且连接UPDATESQL ,双击GRID的某行就将FLAG置为Y ,这样选择好后所有为Y的表示选种。。这样比较直观,,而且选错了可以取消其中一条。
      

  9.   

    我知道搂住的意识,
    应该是设置一个chexkbox多选/单选 按钮,用鼠标点一下就是选择,可以选择多行,在相同选择纪录上再点一下就是取消。
    目前我还不知道代码如何写!只能按ctrl,或鼠标画框想到思路如下:
    因该是在dbgrid的onclick事件中判断鼠标,设置一个数组变量,记录recno,判断数组里有无该纪录的recno,然后处理选择显示
      

  10.   

    请问那位高手能不能用API 函数作到当点击纪录时向系统发送CTRL消息
      

  11.   

    把options->dgMultiSelect的属性设为true
    然后再加一个复选框:
    procedure TForm1.CheckBox1Click(Sender: TObject);
    begin
    if checkbox1.Checked then
      keybd_event(VK_CONTROL,0,0,0)
    else
      keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);
    end;
      

  12.   

    xiaoqiang123 能不能告诉我怎么样加CHECKBOX?
      

  13.   

    用dbgrideh,把options->dgMultiSelect的属性设为true就可以了
      

  14.   

    支持xiaoqiang
    在DELPHI 的 Standard 加入chekbox ,双击checkbox 加入如下代码if checkbox1.Checked 
      then
          keybd_event(VK_CONTROL,0,0,0)
    else
         keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);
    end;
    options->dgMultiSelect的属性设为true
      

  15.   

    写快了,是在STANDARD 中选取Checkbox