以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  选择行时,如何保持原来可见区域不变且屏幕不闪烁  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=24610)

--  作者:明丰
--  发布时间:2012/10/18 11:26:00
--  选择行时,如何保持原来可见区域不变且屏幕不闪烁

 

\'表事件—选择—AfterSelRangeChange
CurrentTable.StopRedraw
Dim d2 As Integer = CurrentTable.LeftVisibleCol \'第1个可见列
Dim c As Col = e.Table.Cols(e.NewRange.ColSel)
Select Case c.name
    Case "序"
        CurrentTable.Select(CurrentTable.Toprow,0,CurrentTable.BottomRow,CurrentTable.cols.count-1)
CurrentTable.LeftVisibleCol = d2  \'第1个可见列
End Select
CurrentTable.ResumeRedraw

 

上述设置,模拟行号列,选择“序”列所在单元格时,同时选择对应的行,进行相应操作时,屏幕不停闪烁,请问如何设置?


图片点击可在新窗口打开查看此主题相关图片如下:4.gif
图片点击可在新窗口打开查看

--  作者:lihe60
--  发布时间:2012/10/18 11:31:00
--  
最下面一行的红字位置是如何设置的?
--  作者:明丰
--  发布时间:2012/10/18 11:45:00
--  

从C版提供的例子中重新设置,现在正在解决选择“序”列 所在单元格同时选择多行,可见区域不变且不闪烁问题。

 

Tables("表A").RowHeaderVisible = False \'隐藏行号
DataTables("窗口1_Table2").Fill("Select * From {表A} Where [_Identify] Is Null","", True)
Tables("窗口1_Table2").SetHeaderRowHeight(0)
DataTables("窗口1_Table2").DataRows.Clear
Dim s As String
Dim t As Table = Tables("表A")
For i As Integer = 0 To t.Cols.Count -1
    If t.Cols(t.Cols(i).Name).Visible
        s = s & t.Cols(i).Name & "|" & t.Cols(i).Width & "|"
    End If
Next
Tables("窗口1_Table2").SetColVisibleWidth(s)
DataTables("窗口1_Table2").SysStyles("EmptyArea").BackColor = Color.White
DataTables("窗口1_Table2").SysStyles("Normal").FontBold = True
Dim r As Row = Tables("窗口1_Table2").AddNew
r("序") = "合计"
r("数量") = DataTables("表A").Compute("sum(数量)")
r("金额") = DataTables("表A").Compute("sum(金额)") & "  "
Tables("窗口1_Table2").RowHeaderVisible = False
Tables("窗口1_Table2").Cols.Frozen = 1 \'
DataTables("窗口1_Table2").DataCols.Add("A", Gettype(Double)) \'增加1列
Tables("窗口1_Table2").Grid.ScrollBars = Windows.Forms.ScrollBars.None


--  作者:migold
--  发布时间:2012/10/18 17:21:00
--  

顶,

请问,这种界面,怎样做,可否给个简单实例


--  作者:lin_hailun
--  发布时间:2012/10/18 17:45:00
--  
以下是引用migold在2012-10-18 17:21:00的发言:

顶,

请问,这种界面,怎样做,可否给个简单实例


例子在这里 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=24626&page=0&move=next