Foxtable(狐表)用户栏目专家坐堂 → SQL 的SQLTable样式问题


  共有5504人关注过本帖树形打印复制链接

主题:SQL 的SQLTable样式问题

帅哥哟,离线,有人找我吗?
hongye
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:509 积分:3413 威望:0 精华:0 注册:2011/3/15 12:49:00
SQL 的SQLTable样式问题  发帖心情 Post By:2022/4/28 19:27:00 [只看该作者]

DrawCell

'Dim tb As WinForm.Table = e.For m.Controls("Table1")
'Dim cmd As New SQLCommand
'Dim dt As DataTable
'cmd.C
'cmd.CommandText = "SELECT * Fro m {面料订单明细}"
'dt = cmd.ExecuteReader()
'Dim d As Date = Date.Today
'Dim d1 As Date = d.AddDays( - 15)
'Dim dr As DataRow
'dr = dt.SQLFind("交货日期 <= '" & d1 & "'") 
'If dr IsNot Nothing Then
'    e.Style = "a"
'End If

怎么回事,这个代码会卡死,请问怎么改

AfterLoad

Dim tb As WinForm.Table = e.Form.Controls("Table1")
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT * Fr om {面料订单明细}"
dt = cmd.ExecuteReader(True)
tb.Table.DataSource = dt
tb.Table.SetColVisibleWidth("客户编号|60|面料名称|120|色号|45|颜色|50|面料门幅|60|面料克重|60|品牌|90|款号|60|件数|50|数量|50|交货日期|90|交货单位|100|备注|148")
tb.Table.Sort = "面料识别号,交货日期"
tb.Table.Grid.Cols(0).Width = 35
dt.AddUserStyle("a", Color.Red, Color.White)
[此贴子已经被作者于2022/4/28 20:26:35编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113520 积分:578101 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/28 20:38:00 [只看该作者]

设置个样式而已,不要这么麻烦吧

DrawCell
if e.row("交货日期") <= Date.Today.AddDays( - 15) then
 e.Style = "a"
end if


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


 回到顶部
帅哥哟,离线,有人找我吗?
hongye
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:509 积分:3413 威望:0 精华:0 注册:2011/3/15 12:49:00
  发帖心情 Post By:2022/4/28 21:26:00 [只看该作者]

请问,如何在ComboBox里显示同一行的两列数据
比如说在ComboBox 筛选框里 显示“表A"的”第二列“和”第三列“的数据,显示格式为 :001 SS,(001是第二列的数据,SS是第三列的数据)

还有请问怎么做这样的筛选?
[此贴子已经被作者于2022/4/28 21:41:37编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113520 积分:578101 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/28 22:18:00 [只看该作者]

1、比如
Dim cmb As WinForm.ComboBox
cmb = Forms(
"窗口1").Controls("ComboBox1")
cmb.ComboList = 
DataTables("订单").sqlGetComboListString("第二列+' ' +第三列")

2、比如
dim srr() as stirng = Forms("窗口1").Controls("ComboBox1").text.split(" ")
dim filter as string = "第二列='" & srr(0) & "' and 第三列='" & srr(1) & "'"
msgbox(filter )

 回到顶部
帅哥哟,离线,有人找我吗?
hongye
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:509 积分:3413 威望:0 精华:0 注册:2011/3/15 12:49:00
  发帖心情 Post By:2022/4/28 23:44:00 [只看该作者]

SelectedIndexChanged

Dim Filter As String

With e.Form.Controls("ComboBox1")

    If .Value IsNot Nothing Then

        Dim srr() As String = e.Form.Controls("ComboBox1").text.split(" ")

        Filter = "客户编号='" & srr(0) & "' And 面料名称='" & srr(1) & "'"

    End If

End With

With e.Form.Controls("ComboBox2")

    If .Value IsNot Nothing Then

        If Filter > "" Then

            Filter = Filter & " And "

        End If 

        Filter = Filter & "色号 = '" & .Value & "'"

    End If

End With

Tables("窗口3_Table1").Filter = filter


Enter

Dim kh As WinForm.ComboBox = e.Form.Controls("ComboBox1")
Dim kh2 As WinForm.ComboBox = e.Form.Controls("ComboBox2")
Dim Filter As String
With e.Form.Controls("ComboBox1")
    If .Value IsNot Nothing Then
        Dim srr() As String = e.Form.Controls("ComboBox1").text.split(" ")
        Filter = "客户编号='" & srr(0) & "' and 面料名称='" & srr(1) & "'"
    End If
End With
With e.Form.Controls("ComboBox2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "色号 = '" & .Value & "'"
    End If
End With
kh.ComboList = DataTables("窗口3_Table1").GetComboListString("色号", Filter)

不能这么写吗?还是哪里错了?
[此贴子已经被作者于2022/4/29 0:04:34编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113520 积分:578101 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/29 8:40:00 [只看该作者]

调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看哪一句代码出错

 回到顶部
帅哥哟,离线,有人找我吗?
hongye
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:509 积分:3413 威望:0 精华:0 注册:2011/3/15 12:49:00
  发帖心情 Post By:2022/4/30 10:55:00 [只看该作者]

Dim kh As WinForm.ComboBox = e.Form.Controls("ComboBox1")
Dim kh2 As WinForm.ComboBox = e.Form.Controls("ComboBox2")
Dim kh3 As WinForm.ComboBox = e.Form.Controls("ComboBox3")
Dim kh4 As WinForm.ComboBox = e.Form.Controls("ComboBox4")
Dim kh5 As WinForm.ComboBox = e.Form.Controls("ComboBox5")
Dim Filter As String
With e.Form.Controls("ComboBox1")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If       
        Dim srr() As String = e.Form.Controls("ComboBox1").Text.split("-")
        Filter = "客户编号 = '" & srr(0) & "'and 面料名称 = '" & srr(1) & "'"
    End If 
End With
With e.Form.Controls("ComboBox2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If 
        Dim syr1() As String = e.Form.Controls("ComboBox2").Text.split("-")
        Filter = "色号 = '" & syr1(0) & "'and 颜色 = '" & syr1(1) & "'"
    End If 
End With
With e.Form.Controls("ComboBox4")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "款号 = '" & .Value & "'"
    End If 
End With
With e.Form.Controls("ComboBox5")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "交货单位 = '" & .Value & "'"
    End If 
End With
With e.Form.Controls("DateTimePicker1")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "交货日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("DateTimePicker2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "交货日期 <= #" & .Value & "#"
    End If
End With
kh3.ComboList = DataTables("窗口3_Table1").sqlGetComboListString("品牌", Filter )


不知道哪里错了,项目列表显示有问题,没有在前项目里的还会显示

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47522 积分:251557 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2022/5/1 7:47:00 [只看该作者]

Dim kh As WinForm.ComboBox = e.Form.Controls("ComboBox1")
Dim kh2 As WinForm.ComboBox = e.Form.Controls("ComboBox2")
Dim kh3 As WinForm.ComboBox = e.Form.Controls("ComboBox3")
Dim kh4 As WinForm.ComboBox = e.Form.Controls("ComboBox4")
Dim kh5 As WinForm.ComboBox = e.Form.Controls("ComboBox5")
Dim Filter As String
With e.Form.Controls("ComboBox1")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If 
        Dim srr() As String = e.Form.Controls("ComboBox1").Text.split("-")
        Filter = "客户编号 = '" & srr(0) & "'and 面料名称 = '" & srr(1) & "'"
    End If 
End With
With e.Form.Controls("ComboBox2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If 
        Dim syr1() As String = e.Form.Controls("ComboBox2").Text.split("-")
        Filter = Filter & "色号 = '" & syr1(0) & "'and 颜色 = '" & syr1(1) & "'"
    End If 
End With
With e.Form.Controls("ComboBox4")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "款号 = '" & .Value & "'"
    End If 
End With
With e.Form.Controls("ComboBox5")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "交货单位 = '" & .Value & "'"
    End If 
End With
With e.Form.Controls("DateTimePicker1")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "交货日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("DateTimePicker2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "交货日期 <= #" & .Value & "#"
    End If
End With
kh3.ComboList = DataTables("窗口3_Table1").sqlGetComboListString("品牌", Filter )

 回到顶部