以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]新手有些问题想请教,表格方面。  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=77433)

--  作者:315139049
--  发布时间:2015/11/18 11:22:00
--  [求助]新手有些问题想请教,表格方面。

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

1、蔬菜名列,要如何才能实现新建一个表,里面所有的蔬菜名都在里面。不要需要重新添加????

2、价格列,我想实现就是输入进去的价格是斤,自动转换为公斤。

3、发布时间列,这个蔬菜价格表,我是不是每天都需要新建一个新表。


以上几点问题,望大神,指教。谢谢!!!

或者又有什么好的实现方法,可以给小弟一点提示。谢谢!!!

--  作者:大红袍
--  发布时间:2015/11/18 11:29:00
--  

1、新建一个表,然后填充数据

 

http://www.foxtable.com/help/topics/0680.htm

 

2、DataColChanging事件

 

If e.DataCol.Name = "价格" AndAlso e.NewValue <> Nothing Then

    e.newValue = e.newValue * 2

End If

 

3、不需要每天新建一个表,你每天把蔬菜表的内容填充到价格表来就行了(填充参考1)

 

然后,在DataRowAdded可以写代码

 

e.DataRow("发布时间") = Date.Today


--  作者:315139049
--  发布时间:2015/11/18 11:41:00
--  
谢谢,我先去试试。
--  作者:315139049
--  发布时间:2015/11/18 14:35:00
--  

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

版主:现在填充的数据的排序不一样。请问下这个怎么解决!

我看它好像是按字母顺序填充数据的。
[此贴子已经被作者于2015/11/18 14:36:23编辑过]

--  作者:大红袍
--  发布时间:2015/11/18 15:08:00
--  

用代码来填充,指定排序列

 

Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each dr1 As DataRow In DataTables("表A").Select("", "_Identify")
    Dim dr2 As DataRow = DataTables("表B").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next


--  作者:315139049
--  发布时间:2015/11/19 1:26:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:002_副本.jpg
图片点击可在新窗口打开查看

版主:我把填充数据放在按钮“发布今日价格”上,现在问题是数据是往后填充的。有什么方面可以让新填充的数据在上面。


图片点击可在新窗口打开查看此主题相关图片如下:003_副本.jpg
图片点击可在新窗口打开查看

新添加了一个价格升降的列,不知道怎么样可以实现,如图效果。也就是用箭头表示,今天的价格与昨天的价格升降情况。



[此贴子已经被作者于2015/11/19 1:49:56编辑过]

--  作者:Hyphen
--  发布时间:2015/11/19 9:03:00
--  

DataColChanged事件

 

Select Case e.DataCol.Name
    Case "价格"
        Dim dr As DataRow = DataTables("表A").Find("获取昨日的价格的条件")
        If dr IsNot Nothing Then
            If e.NewValue > dr("价格") Then
                e.DataRow("升降") = "↑"
            Else
                \'其它情况
            End If
        End If
End Select

 

然后在drawcell设置一下单元格的颜色

http://www.foxtable.com/help/topics/0656.htm


--  作者:大红袍
--  发布时间:2015/11/19 9:38:00
--  

1、填充代码

 

Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each dr1 As DataRow In DataTables("表A").Select("", "_Identify desc")
    Dim dr2 As Row = Tables("表B").AddNew()
    dr2.Move(0)
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next

2、升降的效果,datacolchanged事件

 

Select Case e.DataCol.Name
    Case "市斤", "发布时间"
        Dim dr As DataRow = DataTables("表A").Find("发布时间 < #" & e.DataRow("发布时间") & "#", "发布时间 desc")
        If dr IsNot Nothing Then
            If e.DataRow("市斤") > dr("市斤") Then
                e.DataRow("升降") = "↑"
            Else
                e.DataRow("升降") = "降"
            End If
        Else
            e.DataRow("升降") = "-"
        End If
End Select