苏州三木软件科技有限公司

 找回密码
 立即注册
搜索
热搜: 活动
查看: 919|回复: 7

【求助】同一张表如何使用多个表属性

[复制链接]

21

主题

35

帖子

161

积分

注册会员

Rank: 2

积分
161
发表于 2022-12-2 09:12:03 | 显示全部楼层 |阅读模式


我这样的自定义sql语句查询,左边一行一个sql语句,查询结果到右边表显示,但是我想每个语句都能设置右边的表属性,要如何做?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

22

主题

296

帖子

1876

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1876
QQ
发表于 2022-12-2 09:36:09 | 显示全部楼层
我大概写了一下,没有测试,你可以试一下。

  1. Namespace FormEvents
  2.         Public Class Form1c9f9fe44ded4c85aea9dfd6a13b03ee
  3.                 Inherits FormEventsBase
  4.                 Private m_tblDtl As SmGrid '定义一个私有字段,用来保存对右边表的引用
  5.                 Public Sub 一表多表属性_Load(sender As Object,e As  System.EventArgs)
  6.                         m_tblDtl=Me.SmForm.ControlDictionary()("tblDtl")
  7.                         Dim tblSQL As SmEditTreeTable=Me.SmForm.ControlDictionary()("tblSQL")
  8.                         '添加SmEditTreeTable组合控件中SmEditTreeGrid对象的CurrentChanged事件绑定
  9.                         AddHandler tblSQL.BaseSmEditTreeGrid.CurrentChanged, AddressOf tblSQL_CurrentChanged
  10.                        
  11.                 End Sub
  12.                
  13.                 Public Sub tblSQL_CurrentChanged(sender As Object,e As  System.EventArgs)
  14.                         Dim tblSQL As SmEditTreeGrid=sender
  15.                         If tblSQL.CurrentRowData IsNot Nothing Then
  16.                                 '如果当前节点没有子节点,表示是保存SQL语句的行
  17.                                 If tblSQL.SelectedNode IsNot Nothing AndAlso tblSQL.SelectedNode.Children=0 Then
  18.                                         Dim strSQL As String=tblSQL.CurrentRowData("SQL")
  19.                                         '如果SQL语句不为空
  20.                                         If Not String.IsNullOrEmpty(strSQL) Then
  21.                                                 '先给右边的明细表重命名,方便各个SQL都可以生效一个表属性设置
  22.                                                 m_tblDtl.Name=tblSQL.CurrentRowData("SQL名称")
  23.                                                 '根据SQL填充数据,加载表属性、标题、列宽等等
  24.                                                 m_tblDtl.FillAndLoadSetting(strSQL,Proj.SysDataFactory("UserDB"),False,CommandType.Text)
  25.                                         End If
  26.                                 End If
  27.                         End If
  28.                 End Sub
  29.                
  30.         End Class
  31. End Namespace
复制代码


回复

使用道具 举报

22

主题

296

帖子

1876

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1876
QQ
发表于 2022-12-2 09:40:31 | 显示全部楼层
如果想通过双击事件来控制的话,可以换一个事件。
回复

使用道具 举报

21

主题

35

帖子

161

积分

注册会员

Rank: 2

积分
161
 楼主| 发表于 2022-12-2 11:41:04 | 显示全部楼层
非保存SQL语句的行如何清空表呢?
回复

使用道具 举报

22

主题

296

帖子

1876

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1876
QQ
发表于 2022-12-2 12:02:51 | 显示全部楼层
tbl.DataTableHelp.DataRows.Clear()
回复

使用道具 举报

21

主题

35

帖子

161

积分

注册会员

Rank: 2

积分
161
 楼主| 发表于 2022-12-2 16:51:31 | 显示全部楼层
其它如子表、高级筛选、分布导航等参数如何加载?
回复

使用道具 举报

21

主题

35

帖子

161

积分

注册会员

Rank: 2

积分
161
 楼主| 发表于 2022-12-2 16:52:37 | 显示全部楼层
我用的是GridStandard控件
回复

使用道具 举报

22

主题

296

帖子

1876

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1876
QQ
发表于 2022-12-3 10:12:16 | 显示全部楼层
目前这个方法没有开放,等下个版本吧。GridStandard.LoadSmGridSettingForExtend()或者SmGrid.LoadSmGridSettingForExtend()都可以。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|苏州三木软件科技有限公司 ( 苏ICP备2022038390号 )

苏公网安备 32058502010732号

GMT+8, 2024-7-7 21:27 , Processed in 0.073039 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表