Foxtable(狐表)用户栏目专家坐堂 → [分享]零下一度的点滴心得和学习记录专贴,高手略过


  共有7101人关注过本帖树形打印复制链接

主题:[分享]零下一度的点滴心得和学习记录专贴,高手略过

帅哥哟,离线,有人找我吗?
蓝才文百
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:394 积分:2456 威望:0 精华:0 注册:2015/1/31 23:19:00
  发帖心情 Post By:2017/5/29 14:45:00 [只看该作者]

(一直想foxtable怎么实现类似VB/VB.NET那样,在一个窗体中,创建一个公用函数或过程,今日看到帮助,知道如何实现了):
在一个窗体中,如果是一些共用的代码,可以写入一个button的click事件里,然后设置此button不可见,其他需要调用这个代码的,执行此代码:
e.Controls("按钮名称").PerformClick()

这样就相当于在本窗体做一个公用的函数或过程。

 回到顶部
帅哥哟,离线,有人找我吗?
蓝才文百
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:394 积分:2456 威望:0 精华:0 注册:2015/1/31 23:19:00
代码实现启用或禁用多层表头  发帖心情 Post By:2017/7/26 20:16:00 [只看该作者]

代码实现启用或禁用多层表头:MultiRowHeader 属性

逻辑型,是否启用多层表头。

示例

DataTables("产品").MultiRowHeader = False

DataTables("产品").BuildHeader()

 

源文档 <http://www.foxtable.com/help/topics/1992.htm



如果要在窗体中的Table也禁止多层表头,代码这样:

Dim t As Table = e.Form.Controls("Table1").Table

t.ExtendLastCol=True '扩展最后一列

t.DataTable.MultiRowHeader = False '禁止多层表头

[此贴子已经被作者于2017/7/26 20:21:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
xxfoxtable
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1711 积分:16021 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2017/7/26 21:20:00 [只看该作者]

非常好,很有用


 回到顶部
帅哥哟,离线,有人找我吗?
蓝才文百
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:394 积分:2456 威望:0 精华:0 注册:2015/1/31 23:19:00
TextBox,ComboBox等控件如何做出锁定Locked=True的效果,不是Enable=True也不是Visible=True  发帖心情 Post By:2017/7/30 11:18:00 [只看该作者]

TextBox,ComboBox等控件如何做出锁定Locked=True的效果,不是Enable=True也不是Visible=True
在vb中,这些控件有Locked属性,可以参考:

foxtable中没有这种属性,可以通过代码控制达到Locked效果。
在窗体全局事件KeyDown中,写代码:(当然你也可以在每个控件的KeyDown事件中写,如果要控制的控件不多的话。)
Select Case e.Sender.name
    Case "txtName","TextBox1","DropDownBox1","ComboBox1"
        e.Cancel = True
End Select



[此贴子已经被作者于2018/11/8 11:51:16编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
蓝才文百
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:394 积分:2456 威望:0 精华:0 注册:2015/1/31 23:19:00
如何从表中设置ComboBox列表项目,并手工增加自定义项目?  发帖心情 Post By:2017/8/25 17:27:00 [只看该作者]

如何从表中设置ComboBox列表项目,并手工增加自定义项目?其实ComboList就是一个带有半角管道符“|”的一个字符串,实现方法如下:
Dim ss As String
ss = "ALL|" & DataTables("参数窗体_参数表").GetComboListString("pa_value","pa_type = '结账'","pa_step")
e.Form.Controls("cboPayment").ComboList = ss
ss = "ALL|" & DataTables("参数窗体_参数表").GetComboListString("pa_value","pa_type = '区域'","pa_step")
e.Form.Controls("cboDistrict").ComboList = ss
ss = "ALL|自定义|" & DataTables("参数窗体_客户参数表").GetComboListString("CustomerSummary")
e.Form.Controls("cboSummary").ComboList = ss

[此贴子已经被作者于2017/8/25 17:27:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
蓝才文百
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:394 积分:2456 威望:0 精华:0 注册:2015/1/31 23:19:00
如何设置窗体表格Table打印的标题背景颜色?  发帖心情 Post By:2018/11/6 9:57:00 [只看该作者]

表格打印的时候,默认标题底色是灰色的,那么如何修改这个颜色呢?可以结合Datatables的sysStyle进行设置,参考代码如下:
DataTables(e.Form.Name & "_Table1").SysStyles("Fixed").BackColor = Color.White '设置表格标题底色为白色
With Tables(e.Form.Name & "_Table1").PrintInfo '设置表格打印信息
.Title = "表格标题背景色测试"
.OnlyPrintTitleOnFirstPage = False
.LeftMargin = 3
.TopMargin = 3
.RightMargin = 3
.BottomMargin = 3
.PageFooter = PrintReportFooter
.LandScape = True
.PageFooterLine = True
.PaperKind = 9
.FitIntoPage = True
If pub_Testing Then .WaterMark = "testing.png"
End With
Tables(e.Form.Name & "_Table1").Print(True,False)


 回到顶部
帅哥哟,离线,有人找我吗?
蓝才文百
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:394 积分:2456 威望:0 精华:0 注册:2015/1/31 23:19:00
表格Table格子一获得焦点,就自动进入输入状态或者可以直接编辑里面的内容,而不用双击?  发帖心情 Post By:2018/11/8 11:50:00 [只看该作者]

其实很简单,只需要在表格PrepareEdit事件中,给当前格子发送一个F2按键即可。F2按键是Windows系统标准的编辑格子功能按键。

Table PrepareEdit 事件写入代码:
Select Case e.Col.Name
    Case "数量" '当此格子获得焦点,直接切入编辑
        Sendkeys.Send("{F2}")
End Select

[此贴子已经被作者于2018/11/8 11:50:53编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
蓝才文百
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:394 积分:2456 威望:0 精华:0 注册:2015/1/31 23:19:00
如何判断表格是否多选?  发帖心情 Post By:2020/11/27 11:25:00 [只看该作者]

不知道有无判断表格是否多选的属性,自己用个土办法做判断,在AfterSelRangeChange事件中:

Dim info As WinForm.Label = e.Form.Controls("lblLocation")
Dim t As Table = e.Table
Dim str As String = "RowSel:" & t.RowSel & ",ColSel:" & t.ColSel & ",TopRow:" & t.TopRow & ",BottomRow:" & t.BottomRow & ",LeftCol:" & t.LeftCol & ",RightCol:" & t.RightCol
info.Text = str
If t.TopRow - t.BottomRow <> 0 Or t.LeftCol - t.RightCol <> 0 Then '多选了
info.Text = info.Text & ",多选了!"
End If

[此贴子已经被作者于2020/11/27 11:27:38编辑过]

 回到顶部
总数 28 上一页 1 2 3