以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 怎样给临时表突出选中行背景设置 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=196043) |
-- 作者:fvcfox -- 发布时间:2025/3/25 9:49:00 -- 怎样给临时表突出选中行背景设置 Dim dtb As New DataTableBuilder("temp")生成了临时表,我在一个窗口的table1的数据源使用代码tb.DataSource = DataTables("temp")。现怎样代码设置选中行背景色
|
-- 作者:有点蓝 -- 发布时间:2025/3/25 9:50:00 -- http://www.foxtable.com/webhelp/topics/1577.htm DataTables("temp").SysStyles("CurrentRow").BackColor = Color.red
|
-- 作者:fvcfox -- 发布时间:2025/3/25 11:30:00 -- 如果还想符合“选中=true”的行设成另一个背景色用什么代码,在“系统样式”中好像没合适可选 |
-- 作者:有点蓝 -- 发布时间:2025/3/25 11:34:00 -- 生成临时表的代码发上来 |
-- 作者: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时变改其背景色,
|
-- 作者:有点蓝 -- 发布时间: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.AddUserStyle("a", Color.Red, Color.black) ‘http://www.foxtable.com/webhelp/topics/1579.htm ……其他代码 然后说道全局表事件DrawCell事件写代码 If e.Row("已导入")=true Then
e.Style = "a" End If |