以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  颜色和尺码不固定  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122877)

--  作者:yetle
--  发布时间:2018/8/3 15:03:00
--  颜色和尺码不固定


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

颜色和尺码列是通过datacols.Add添加进临时表的,现在要将这个临时表存储到数据表,颜色和尺码不固定,这个存储要怎么写



下面这种写法是可以存储固定列信息,但颜色尺码不固定要怎么写?
For Each drr As Row In CurrentTable.Rows
    Dim dr1 As DataRow = DataTables("大货用料表").AddNew
    dr1("物料基本信息_序号")=drr("物料基本信息_序号")
    dr1("物料基本信息_物料大类")=drr("物料基本信息_物料大类")
    dr1("物料基本信息_客供")=drr("物料基本信息_客供")
    dr1("物料基本信息_物料名称")=drr("物料基本信息_物料名称")
    dr1("物料基本信息_物料辅助说明")=drr("物料基本信息_物料辅助说明")
    dr1("物料基本信息_部位及用途")=drr("物料基本信息_部位及用途")
    dr1("物料基本信息_布封")=drr("物料基本信息_布封")
    dr1("物料基本信息_克重")=drr("物料基本信息_克重")
    dr1("物料基本信息_单位")=drr("物料基本信息_单位")
    dr1("物料基本信息_版规格配色要求")=drr("物料基本信息_版规格配色要求")
    dr1("物料基本信息_不分色")=drr("物料基本信息_不分色")
    dr1("物料基本信息_适用颜色")=drr("物料基本信息_适用颜色")
    dr1("物料基本信息_同色")=drr("物料基本信息_同色")
    dr1("物料基本信息_同量")=drr("物料基本信息_同量")
    dr1("物料基本信息_分码")=drr("物料基本信息_分码")
    dr1("物料基本信息_适用尺码")=drr("物料基本信息_适用尺码")
    dr1("物料基本信息_物料编码")=drr("物料基本信息_物料编码")
    dr1("用量信息_待定")=drr("用量信息_待定")
    dr1("用量信息_上级")=drr("用量信息_上级")
    dr1("用量信息_领料部门")=drr("用量信息_领料部门")
    dr1("用量信息_变更日期")=drr("用量信息_变更日期")
    dr1("用量信息_下级")=drr("用量信息_下级")
    dr1("供应商属性_供应商名称")=drr("供应商属性_供应商名称")
    dr1("供应商属性_转换率")=drr("供应商属性_转换率")
    dr1("供应商属性_采购单位")=drr("供应商属性_采购单位")
    dr1("供应商属性_成份")=drr("供应商属性_成份")
    dr1("款号")=drr("款号")
    dr1.Save()
Next


是不是我在数据表内将所有尺码添加进来,然后对比临时表和数据表的列,列名相同就存储。但是,尺码可以这么做,颜色可不行,颜色有几百种。

 参照我们现在的系统是固定20个颜色和尺码列存储在数据表

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

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


[此贴子已经被作者于2018/8/3 16:06:26编辑过]

--  作者:有点甜
--  发布时间:2018/8/3 18:14:00
--  
动态添加足够多的列(比如10列)显示颜色和尺码。
--  作者:yetle
--  发布时间:2018/8/4 8:28:00
--  
真没理解
--  作者:有点蓝
--  发布时间:2018/8/4 8:59:00
--  
看看这个:http://www.foxtable.com/webhelp/scr/2965.htm

数据库存储值参考表A的设计,一个颜色/尺寸存储一行,而不是一个颜色/尺寸创建一个列

界面需要显示的时候通过代码转换为表B的形式

--  作者:yetle
--  发布时间:2018/8/4 10:29:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:222.png
图片点击可在新窗口打开查看
临时表存储到数据表后,因为颜色和尺码是动态的,颜色1不会一直等于宝蓝色,颜色2不会一直等于火焰色,识别是什么颜色的只有款号,
款1的颜色有:宝蓝色、火焰色
款2的颜色有:大红色、墨绿色、银黄色
这时候数据表存储款2的颜色1等于大红色、颜色2等于墨绿色、颜色3等于银黄色

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


--  作者:有点蓝
--  发布时间:2018/8/4 10:42:00
--  
请仔细理解4楼的说明。您这种表结构请恕我无能为力
--  作者:yetle
--  发布时间:2018/8/4 14:37:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:111.png
图片点击可在新窗口打开查看
帮助这里可以设置
  • Caption
    可选参数,用于设置列标题。
下面这个代码


Dim Multi As String = e.Form.Controls("CheckedComboBox1").value 
Dim Multi1 As String = e.Form.Controls("CheckedComboBox2").value
Dim Values() As String
Dim Values1() As String
Values = Multi.split(",")
Values1 = Multi1.split(",")
    For Index As Integer = 0 To Values.Length - 1
        \'\' Output.Show(Values(Index))
        dt.datacols.Add("N" & Values(Index), Gettype(Integer),"",Values(Index)) \'\'从textbox中获取数字集合并生成新列
        
    Next
    
    For Index1 As Integer = 0 To Values1.Length - 1
        \'\' Output.Show(Values(Index))
        dt.datacols.Add("N" & Values1(Index1), Gettype(Integer),"",Values1(Index1)) \'\'从textbox中获取数字集合并生成新列
        
    Next


黄色代码,我想列名称设为颜色1,颜色2,颜色3……,列标题就为颜色名称:宝蓝色,火焰色……,怎么写?

如果能这样写的话,那就应该可以存储到数据表了
[此贴子已经被作者于2018/8/4 14:43:44编辑过]

--  作者:有点蓝
--  发布时间:2018/8/4 14:47:00
--  
首先要保证2个CheckedComboBox的值个数是一致的

Dim Multi As String = e.Form.Controls("CheckedComboBox1").value 
Dim Multi1 As String = e.Form.Controls("CheckedComboBox2").value
Dim Values() As String
Dim Values1() As String
Values = Multi.split(",")
Values1 = Multi1.split(",")
    For Index As Integer = 0 To Values.Length - 1
        \'\' Output.Show(Values(Index))
        dt.datacols.Add("N" & Values(Index), Gettype(Integer),"",Values1(Index)) \'\'从textbox中获取数字集合并生成新列
        
    Next

--  作者:yetle
--  发布时间:2018/8/4 14:49:00
--  
我的意思是,颜色1,颜色2……这是需要按序号生成,不是取checkbox的value值
CheckedComboBox1放的是颜色,CheckedComboBox2放的尺码
尺码部分就会是列名称为:尺码1,尺码2……,列标题就会:大码,中码,……
2个CheckedComboBox的值个数是不是一致的,怎么写?

[此贴子已经被作者于2018/8/4 15:02:10编辑过]

--  作者:有点蓝
--  发布时间:2018/8/4 15:05:00
--  
没看懂你的问题。