Foxtable所有范例代码(9)

2019-08-20 19:16

If e.Node.Name > \

wb.Address = \End If

自定义函数

全局代码

菜单事件

======================================= =====基本功能演示.Foxdb=====

项目事件

AfterOpenProject '''

Forms(\导航\

Tables(\员工\MainTable = Tables(\订单\MessageBox.Show(\提示:\& vbcrlf & vbcrlf & \、请通过左侧窗口的任务栏, 选择要演示的功能。\vbcrlf & _

\、每个演示都会在底端打开一个窗口,介绍正在演示的功能。\& vbcrlf & \、本文件专用于演示,所以默认不保存修改。\功能演示\

BeforeLoadInnerTable

If e.DataTableName = \动态加载\ e.Filter = \End If

MainTableChanging

If e.NewTableName <> \员工\ MarkModifedCell = False End If

If e.OldTableName = \统计表1\ Forms(\返回\End If

MainTableChanged

If MainTable.Name <> \级联列表\

Tables(\级联列表\省\行政区域\省\End If

BeforeCloseProject

e.SkipSave = True

计划管理

表事件

41

单元格绘图_DrawCell

If e.Col.Name = \进度\进度\ e.StartDraw()

Dim Width As Integer = (e.Width - 2 ) * e.Row(\进度\

e.Graphics.FillRectangle(Brushes.Red,e.x + 1,e.y + 1, Width, e.Height - 2) If e.Row.IsNull(\进度\ e.Text = e.Row(\进度\ End If

If e.Row(\进度\ e.Style = \ End If

e.EndDraw() End If

学生成绩_DrawCell

If MarkCell Then

Select Case e.Col.Name Case \语文\数学\

Dim v As Double = Val(e.Text) If v < 90 Then

e.Style = \不及格\ End If

Case \英语\化学\物理\

Dim v As Double = Val(e.Text) If v < 60 Then

e.Style = \不及格\ End If Case \总分\

Dim v As Double = Val(e.Text) If v < 400 Then

e.Style = \总分不及格\ End If End Select End If

成绩分布_DataColChanged

Dim dr As DataRow = e.DataRow

Dim dt As DataTable =DataTables(\学生成绩\

If e.DataCol.Name = \科目\科目\ dr(\最高分\科目\ dr(\最低分\科目\ dr(\平均分\科目\

dr(\分布_60分以下\姓名)\科目\

dr(\分布_60分以上\姓名)\科目\科目\70\

dr(\分布_70分以上\姓名)\科目\科目\80\

dr(\分布_80分以上\姓名)\科目\科目\90\

dr(\分布_90分以上\姓名)\科目\科目\100\

dr(\分布_100分以上\姓名)\科目\科目\

42

< 110\

dr(\分布_110分以上\姓名)\科目\科目\< 120\

dr(\分布_120分以上\姓名)\科目\科目\< 130\

dr(\分布_130分以上\姓名)\科目\ Select Case dr(\科目\

Case \语文\数学\英语\

dr(\优秀率\= dt.Compute(\姓名)\dr(\科目\& \>= 140\/ dt.Compute(\姓名)\

dr(\及格率\姓名)\科目\姓名)\

Case \物理\化学\

dr(\优秀率\姓名)\科目\姓名)\

dr(\及格率\姓名)\科目\姓名)\

End Select End If

流水账一_DataColChanged

Select Case e.DataCol.Name Case \收入\支出\ Dim dr As DataRow

Dim drs As List(of DataRow)

dr = e.DataTable.Find(\找出上一行

If dr Is Nothing Then '如果没有上一行,说明本行就是第一行

e.DataRow(\余额\收入\支出\ dr = e.DataRow End If

drs = e.DataTable.Select(\ For i As Integer = 1 To drs.Count - 1 '重算余下行的余额

drs(i)(\余额\余额\收入\支出\ Next End Select

流水账一_AfterMoveRow

Dim Key As Decimal Dim Index As Integer Dim dc As DataCol

Index = Math.Min(e.OldIndex, e.NewIndex) Key = e.Table.Rows(Index)(\dc = e.Table.datatable.DataCols(\收入\

dc.RaiseDataColChanged(\

流水账二_DataColChanged

Select Case e.DataCol.Name Case \产品\入库\出库\ Dim dr As DataRow

Dim mr As DataRow = e.DataRow Dim drs As List(of DataRow)

43

dr = e.DataTable.Find(\产品] = '\产品\\

If dr Is Nothing Then '如果没有上一行,说明本行就是同产品的第一行 mr(\库存\入库\出库\ dr = mr End If

drs = e.DataTable.Select(\产品] = '\产品\

For i As Integer = 1 To drs.Count - 1 '重算余下行的余额

drs(i)(\库存\库存\入库\出库\ Next End Select

流水账二_AfterMoveRow

Dim Key As Decimal Dim Index As Integer Dim Filter As String Dim r As Row

Index = Math.Min(e.OldIndex, e.NewIndex) Key = e.Table.Rows(Index)(\r = e.Table.Rows(e.NewIndex)

Filter = \产品] = '\产品\e.Table.DataTable.DataCols(\入库\

级联列表_PrepareEdit

If e.IsFocusCell AndAlso e.Col.Name = \县市\

e.Col.Combolist = DataTables(\行政区域\县市\\省] = '\e.Row(\省\& \End If

级联列表_DataColChanged

'如果刚刚输入的是省市或县市列

If e.DataCol.Name = \省\县市\ Dim dr As DataRow Dim Filter As String

Filter = \省] = '\省\县市] = '\县市\ dr = DataTables(\行政区域\在行政区域表查找所输入省市和县市的行 If dr IsNot Nothing Then '如果找到

'将找到行的区号和邮编内容填入到正在输入的行中 e.DataRow(\区号\区号\ e.DataRow(\邮编\邮编\ Else

'否则清除区号和邮编两列的内容 e.DataRow(\区号\ e.DataRow(\邮编\ End If End If

窗口表事件

_Table1_PositionChanged

44

Dim r As Row = e.Table.Current

Dim pbx As WinForm.PictureBox = Forms(\下拉窗口\Dim tbx As WinForm.TextBox = Forms(\下拉窗口\pbx.Image = GetImage(r(\照片\tbx.value = r(\备注\

_Table1_DoubleClick

Dim dr As Row = Tables(\下拉窗口_Table1\With Forms(\下拉窗口\ If dr IsNot Nothing Then .Value = dr(\姓名\ End If

.CloseDropDown() End With

窗口与控件事件

A多种统计_AfterLoad

For Each frm As WinForm.Form In Forms '关闭本表其他窗口

If frm.TableName = e.Form.TableName Andalso frm.Opened Then If frm.Name <> e.Form.Name Then frm.Close End If End If Next

Dim t As Table = Tables(\学生成绩\t.StopRedraw() t.ClearSubtotal() t.ResumeRedraw()

A多种统计_Button1_Click '''

Dim g As New GroupTableBuilder(\统计表1\学生成绩\g.Groups.AddDef(\班级\

g.Totals.AddDef(\语文\语文_平均分\g.Totals.AddDef(\语文\语文_最高分\g.Totals.AddDef(\语文\语文_最低分\g.Totals.AddDef(\数学\数学_平均分\g.Totals.AddDef(\数学\数学_最高分\g.Totals.AddDef(\数学\数学_最低分\g.Totals.AddDef(\英语\英语_平均分\g.Totals.AddDef(\英语\英语_最高分\g.Totals.AddDef(\英语\英语_最低分\g.Totals.AddDef(\化学\化学_平均分\g.Totals.AddDef(\化学\化学_最高分\g.Totals.AddDef(\化学\化学_最低分\g.Totals.AddDef(\物理\物理_平均分\g.Totals.AddDef(\物理\物理_最高分\g.Totals.AddDef(\物理\物理_最低分\g.Totals.AddDef(\总分\总分_平均分\g.Totals.AddDef(\总分\总分_最高分\g.Totals.AddDef(\总分\总分_最低分\

45


Foxtable所有范例代码(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:JAVA-AOSUite文件,图片上传功能

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: