Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:怎样给临时表突出选中行背景设置

1楼
fvcfox 发表于:2025/3/25 9:49:00
Dim dtb As New DataTableBuilder("temp")生成了临时表,我在一个窗口的table1的数据源使用代码tb.DataSource = DataTables("temp")。现怎样代码设置选中行背景色
2楼
有点蓝 发表于:2025/3/25 9:50:00
http://www.foxtable.com/webhelp/topics/1577.htm

DataTables("temp").SysStyles("CurrentRow").BackColor = Color.red
3楼
fvcfox 发表于:2025/3/25 11:30:00
如果还想符合“选中=true”的行设成另一个背景色用什么代码,在“系统样式”中好像没合适可选
4楼
有点蓝 发表于:2025/3/25 11:34:00
生成临时表的代码发上来
5楼
fvcfox 发表于:2025/3/25 11:53:00
Dim tb As Table = Tables("导入凭证库财政记录_table1")

tb.StopRedraw()
Dim Book As New XLS.Book(e.Form.Controls("TextBox2").text)
Dim Sheet As XLS.Sheet = Book.Sheets(e.Sender.text)
For m1 As Integer = 1 To tb.DataTable.DataCols.Count 
    If tb.DataTable.DataCols.Contains("第" & m1 & "列") = True Then
        tb.DataTable.DataCols.Delete ("第" & m1 & "列")
    End If
Next
Dim dtb As New DataTableBuilder("temp")
dtb.AddDef("已导入", GetType(Boolean))
For m1 As Integer = 1 To Sheet.cols.Count
    dtb.AddDef("第" & m1 & "列", GetType(String), 255)
Next
dtb.Build()
tb.DataSource = DataTables("temp")

For n As Integer = 0 To Sheet.Rows.Count - 1
    Dim r As Row = tb.AddNew()
    For m As Integer = 0 To Sheet.cols.Count - 1
        r(tb.Cols(m + 1).name) = Sheet(n, m).Value
    Next
Next
If tb.rows.Count > 0 Then
    tb.Select(0, 0)
End If
tb.ResumeRedraw()
tb.Cols("已导入").Width = 45
tb.SetHeaderRowHeight(35, 25)
tb.DefaultRowHeight = 35

Dim st As String 
For i As Integer = tb.Cols.Count - 1 To 1 Step - 1
    st = "|第" & i & "列" & st
Next
e.Form.Controls("ComboBox3").ComboList = st.Remove(0, 1)
e.Form.Controls("ComboBox4").ComboList = st.Remove(0, 1)
e.Form.Controls("ComboBox5").ComboList = st.Remove(0, 1)
e.Form.Controls("ComboBox6").ComboList = st.Remove(0, 1)
e.Form.Controls("ComboBox7").ComboList = st.Remove(0, 1)
e.Form.Controls("ComboBox8").ComboList = st.Remove(0, 1)


希望,当这个表的“已导入”为true时变改其背景色,
6楼
有点蓝 发表于:2025/3/25 12:14:00
每次设置DataSource 都是新表,没有必要浪费时间再删除一下列

Dim tb As Table = Tables("导入凭证库财政记录_table1")

tb.StopRedraw()
Dim Book As New XLS.Book(e.Form.Controls("TextBox2").text)
Dim Sheet As XLS.Sheet = Book.Sheets(e.Sender.text)

Dim dtb As New DataTableBuilder("temp")
dtb.AddDef("已导入", GetType(Boolean))
For m1 As Integer = 1 To Sheet.cols.Count
    dtb.AddDef("第" & m1 & "列", GetType(String), 255)
Next
tb.DataSource = dtb.BuildDataSource ()
tb.DataTable.GlobalHandler.DrawCell=true ’http://www.foxtable.com/webhelp/topics/0671.htm
tb.DataTable.AddUserStyle("a"Color.RedColor.black) ‘http://www.foxtable.com/webhelp/topics/1579.htm
……其他代码

然后说道全局表事件DrawCell事件写代码
If e.Row("已导入")=true Then
    e.Style = "a"

End If
共6 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.