zoukankan      html  css  js  c++  java
  • 怎样让DBGrid在按住Shift点鼠标的同时能将连续范围的多行选中?

    参见例子:…privateSel : Boolean ;//判断是否处于选择状态
    BookMark : TBookMark ;//记录先前的位置…procedure TForm1.DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);
    var SelNo:integer ;//记录当前位置beginif ( Button = mbLeft ) then
    if sel = false then//非选择状态,记录当前位置beginBookMark := Table1.GetBookmark ;
    Sel := true ;exit ;endelse //选择状态
    if Shift = [ssShift] thenbegin//遍历所有从先前位置开始到当前位置之间的记录并标记
    SelNo := DBGrid1.DataSource.DataSet.RecNo ;
    DBGrid1.DataSource.DataSet.DisableControls ;
    DBGrid1.DataSource.DataSet.GotoBookmark(BookMark);
    DBGrid1.SelectedRows.CurrentRowSelected := true ;
    if SelNo<DBGrid1.DataSource.DataSet.RecNo then
    while SelNo<DBGrid1.DataSource.DataSet.RecNo dobeginDBGrid1.SelectedRows.CurrentRowSelected := true ;
    DBGrid1.DataSource.DataSet.Prior ;endelsewhile SelNo DBGrid1.DataSource.DataSet.RecNo dobeginDBGrid1.SelectedRows.CurrentRowSelected := true ;
    Sel := false ;end ;end;虽然效果不十分理想,但足以完成要求。

  • 相关阅读:
    XRTable 表新增列和行数据
    sql server 清理数据库日志
    C# 数字 转换 大写汉字
    NavBarControl 简单配置
    bandedGridView
    TileView 基本配置
    CardView 基本配置
    ButtonEdit 参数配置
    无边框窗体,鼠标移动窗体
    【网站】windows phpstudy v8.1搭建https
  • 原文地址:https://www.cnblogs.com/jijm123/p/10534665.html
Copyright © 2011-2022 走看看