惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
博客园 - 司徒正美
博客园 - 【当耐特】
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
人人都是产品经理
人人都是产品经理
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
宝玉的分享
宝玉的分享
V
V2EX
S
SegmentFault 最新的问题
V
Visual Studio Blog
阮一峰的网络日志
阮一峰的网络日志
Martin Fowler
Martin Fowler
Jina AI
Jina AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园_首页
L
LangChain Blog
D
Docker
腾讯CDC

博客园 - 智岛软件

企业系统,随需而变?百变平台,我能! 开发ERP、MIS、CRM等管理系统,竟然可以这样做?! 【智岛软件】程序设计规范 常用VB脚本语句 - 智岛软件 - 博客园 Java版百变平台调用储存过程范例 - 智岛软件 - 博客园 网格数据分页_范例代码 - 智岛软件 - 博客园 导航菜单设置 自定义自动编号 - 智岛软件 - 博客园 从XML中取日期时,必须用ToDateString转换 - 智岛软件 - 博客园 OGrid接口函数详细说明 DBEngine接口详细说明 SQL查询语句精华使用简要 group by分组的应用 SQL编程规范 触发器的应用 在校生数据导入范例 根据条件选择,将值传递为一个组合框的下拉列表 - 智岛软件 - 博客园 网格控件XML数据格式_完全版 新控件使用范例 - 智岛软件 - 博客园
常用网格函数及操作
智岛软件 · 2006-04-23 · via 博客园 - 智岛软件

'---------------------------------------------------------------------------------------------------------------------  
'网格中:保存后,使光标停留在当前行
 If DBEngine.SaveRecord() = true then
'保存后,要从数据库更新当前行数据

 If bNewRecord <> true then '保存修改
  DBGrid14.UpdateCurRecordFromServer(DBEngine.GetCurRecordSQLWhere())
 Else '保存新增记录
  DBGrid14.UpdateFromDataSourceUrl("")
  DBGrid14.SelectRow(DBGrid14.GetRowCount()-1)
 End if
End if

'网格中行、列定位
grd_Main.SetFocusCell nRowIndex, nColIndex
grd_Main.SelectRow nRowIndex

'网格中移动记录:

Sub btnFirst_Click() '移到首项
  MainGrid.SetFocusRow (maingrid.GetFixedRowCount )
End Sub

Sub btnLast_Click() '移到尾项
  MainGrid.SetFocusRow (maingrid.GetFixedRowCount + mainGrid.GetRecordCount-1)
End Sub
 
Sub btnNext_Click() '移到上一项
  MainGrid.SetFocusRow (maingrid.GetFixedRowCount + mainGrid.GetCurRecordIndex + 1)
End Sub

Sub btnPre_Click() '移到下一项
      MainGrid.SetFocusRow (maingrid.GetFixedRowCount + mainGrid.GetCurRecordIndex - 1)
End Sub

'---------------------------------------------------------------------------------------------------------------------
'填充网格时设置网格状态
Sub MainGrid_EventBeforeFillGrid()
   lblCount2.Caption = MainGrid.GetRecordCount()
   Call DBGrid.SetFieldColWidth "编号",True '设置列宽
   Call DBGrid.SetHideField("ID",True) '隐藏网格中列
End Sub

'---------------------------------------------------------------------------------------------------------------------
'隐藏网格中某列
   Call DBGrid.SetHideField("ID",True)      '隐藏网格中列
'设置网格某列宽
   Call DBGrid.SetFieldColWidth "编号",0 '设置列宽

'---------------------------------------------------------------------------------------------------------------------
'取网格中字段值
RowIndex = DBGrid14.GetCurRowIndex‘得到当前行索引

nRowIndex = DBGrid14.GetCurRecordIndex ‘为空

(DBGrid14.GetFieldStringValue("项目名称",RowIndex-1))’得到当前行相应字段值

(DBGrid14.GetFieldStringValue("项目名称",nRowIndex))’得到当前行相应字段值

'设置网格中字段值
grd_Main.SetFieldStringValue "字段名", RowIndex,"0"
'---------------------------------------------------------------------------------------------------------------------
'响应网络当前行改变事件
Sub DBGrid31_EventCurRowChanged(nRowIndex)
'改变数据引擎的当前记录
  if DBEngine.CurIndex() <> nRowIndex-DBGrid31.GetFixedRowCount then
     DBEngine.GoToRecord nRowIndex-DBGrid31.GetFixedRowCount
  end if
End Sub

'---------------------------------------------------------------------------------------------------------------------
'网格中多行选择的处理

'全选/撤消全选
Sub chkSel_Change()
  If chkSel = True Then
    DBGrid.SelectAllCells()
  ElseIf chkSel = False Then
    DBGrid.UnSelectAllCells()   
  End If
End Sub

'判断多选
Sub btnInsert_Click()
   nRowIndex = DBGrid14.GetCurRowIndex()
   RowHeadHeight=DBGrid14.GetFixedRowCount
   For i = 0 To DBGrid14.GetRecordCount - 1
     If  DBGrid14.IsRowSelected(i + RowHeadHeight) then
        if lstrKey = "" THEN
           lstrKey ="'"+ DBGrid14.GetFieldStringValue("序号",i) +"'"
        ELSE
           lstrKey =lstrKey & "," &  "'"+ DBGrid14.GetFieldStringValue("序号",i) +"'"
        END IF
     End If
   Next
  
   If lstrKey="" then
      MsgBox "没有选择订单明细项目!"
      exit sub
   end If

   strSql = "Select 序号 From 出货表_明细 Where 出货单号 = '"+ebCode.Text+"' And 序号 IN("+lstrKey+") "
   strRet = DBEngine.WebFunction("SqlQuery",strSql,"")
     strError = DBEngine.GetElemData(strRet, "Error")
   If strError<>"" Then
      Msgbox "SQL语句执行失败:" + strError
      exit Sub
   End If
   strCode = DBEngine.GetElemData(strRet,"序号")
   If strCode <> "" Then
       DBEngine.Msgbox "同一笔订单的明细项不能重复添加,请重新选择!"
       Exit Sub
   End If

   strInsert = "Insert 出货表_明细(出货单号,订单号,序号,料号,品名_1,品名_2,批号,单位,规格型号,客户要求交货期,预交日期,交货日期) " +_
               "Select "+ebCode.Text+" AS 出货单号,订单号,序号,料号,品名_1,品名_2,批号,单位,规格型号,客户要求交货期,预交日期,'"+dtcDate.Text+"' AS 交货日期"
   strInsert = strInsert + " FROM 订单表_明细 WHERE 序号 IN("+lstrKey+") "

   StrRet = DBEngine.WebFunction("SqlNonQuery", StrInsert, "")
   strError = DBEngine.GetElemData(strRet, "Error")
   If strError<>"" Then
      Msgbox "SQL语句执行失败:" + strError
      exit Sub
   End If
   MainGrid.UpdateFromDataSourceUrl("")

End Sub

'---------------------------------------------------------------------------------------------------------------------
'注释:导出网格中数据至Excel
Sub btnOutput_Click()
  RowIndex = MainGrid.GetCurRecordIndex
  If RowIndex = -1 then
    Msgbox "没有数据可导出!"
    exit sub
  Else
    MainGrid.ExportGrid("")
  End If
End Sub