Foxtable(狐表)用户栏目专家坐堂 → 颜色和尺码不固定


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

主题:颜色和尺码不固定

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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
颜色和尺码不固定  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2018/8/4 8:28:00 [显示全部帖子]

真没理解

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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2018/8/4 10:29:00 [显示全部帖子]


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

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


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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2018/8/4 14:49:00 [显示全部帖子]

我的意思是,颜色1,颜色2……这是需要按序号生成,不是取checkbox的value值
CheckedComboBox1放的是颜色,CheckedComboBox2放的尺码
尺码部分就会是列名称为:尺码1,尺码2……,列标题就会:大码,中码,……
2个CheckedComboBox的值个数是不是一致的,怎么写?

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

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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2018/8/4 15:11:00 [显示全部帖子]

实现动态列的列名称和列标题分开设置:
颜色部分,列名称为颜色+序号自动生成,列标题取CheckedComboBox1的值
尺码部分,列名称为尺码+序号自动生成,列标题取CheckedComboBox2的值

如:
列名称:颜色1,颜色2,尺码1,尺码2
列标题:宝蓝色,火焰色,大码,加大码

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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2018/8/4 15:21:00 [显示全部帖子]

提示:未申明index
[此贴子已经被作者于2018/8/4 15:21:32编辑过]

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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2018/8/4 15:26:00 [显示全部帖子]

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

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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2018/8/4 16:11:00 [显示全部帖子]

提示:列“颜色2”不属于表 大货用量表_Table2。

For Index As Integer = 0 To Values.Length - 1
        '' Output.Show(Values(Index))
        dt.datacols.Add("颜色" & Index, Gettype(Integer),"",Values(Index)) ''从textbox中获取数字集合并生成新列
        
    Next

这里生成的第一列是列名称是:颜色1,第二列不是颜色2?


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


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2018/8/4 17:48:00 [显示全部帖子]


生成临时表按钮代码:
Dim dt As DataTable=Tables("大货用量表_table2").DataTable
Tables("大货用量表_table2").StopRedraw
For i As Integer=1 To 9
    Dim s As String="第" & CLNum(i) & "列"
    If dt.DataCols.contains(s) Then
        dt.DataCols.delete(s)
    End If
Next
If dt.DataCols.contains("第十列") Then
    dt.DataCols.delete("第十列")
End If
''删除掉默认的列

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(",")
If Values.Length>0 And Values1.Length>0 Then
    dt.datacols.Add("物料基本信息_序号", Gettype(String),25)
    dt.datacols.Add("物料基本信息_物料大类", Gettype(String),40)
    dt.datacols.Add("物料基本信息_客供", Gettype(String),30)
    dt.datacols.Add("物料基本信息_物料名称", Gettype(String),200)
    dt.datacols.Add("物料基本信息_物料辅助说明", Gettype(String),50)
    dt.datacols.Add("物料基本信息_部位及用途", Gettype(String),100)
    dt.datacols.Add("物料基本信息_布封", Gettype(String),50)
    dt.datacols.Add("物料基本信息_克重", Gettype(String),50)
    dt.datacols.Add("物料基本信息_单位", Gettype(String),25)
    dt.datacols.Add("物料基本信息_版规格配色要求", Gettype(String),150)
    dt.datacols.Add("物料基本信息_不分色", Gettype(String),40)
    dt.datacols.Add("物料基本信息_适用颜色", Gettype(String),80)
    dt.datacols.Add("物料基本信息_同色", Gettype(String),25)
    dt.datacols.Add("物料基本信息_同量", Gettype(String),25)
    dt.datacols.Add("物料基本信息_分码", Gettype(String),25)
    dt.datacols.Add("物料基本信息_适用尺码", Gettype(String),100)
    dt.datacols.Add("物料基本信息_物料编码", Gettype(String),120)
    dt.datacols.Add("用量信息_待定", Gettype(String),25)
    dt.datacols.Add("用量信息_上级", Gettype(String),30)
    dt.datacols.Add("用量信息_领料部门", Gettype(String),40)
    dt.datacols.Add("用量信息_变更日期", Gettype(String),100)
    dt.datacols.Add("用量信息_下级", Gettype(String),30)
    dt.datacols.Add("供应商属性_供应商名称", Gettype(String),80)
    dt.datacols.Add("供应商属性_转换率", Gettype(String),50)
    dt.datacols.Add("供应商属性_采购单位", Gettype(String),25)
    dt.datacols.Add("供应商属性_成份", Gettype(String),100)
    dt.datacols.Add("款号", Gettype(String),100)

    For Index As Integer = 0 To Values.Length - 1
         ' Output.Show(Values(Index))
        dt.datacols.Add("颜色" & Index, Gettype(Integer),"",Values(Index)) ''从textbox中获取数字集合并生成新列
        Output.Show(Values(Index))
    Next
    
    For Index1 As Integer = 0 To Values1.Length - 1
        '' Output.Show(Values(Index))
        dt.datacols.Add("尺码" & Index1, Gettype(Integer),"",Values1(Index1)) ''从textbox中获取数字集合并生成新列
        Output.Show(Values(Index1))
    Next

    dt.datacols.Add("小计", Gettype(Integer),"","小计") ''增加小计列,这里还需要去datacolchanged事件中增加动态计算功能
    dt.AllowEdit=True ''允许编辑该表
    Tables("大货用量表_table2").Cols("小计").AllowEdit=False ''锁定小计列不允许编辑
    Tables("大货用量表_table2").Cols("物料基本信息_序号").Width = 25
    Tables("大货用量表_table2").Cols("物料基本信息_物料大类").Width = 40
    Tables("大货用量表_table2").Cols("物料基本信息_客供").Width = 30
    Tables("大货用量表_table2").Cols("物料基本信息_物料名称").Width = 200
    Tables("大货用量表_table2").Cols("物料基本信息_物料辅助说明").Width = 50
    Tables("大货用量表_table2").Cols("物料基本信息_部位及用途").Width = 100
    Tables("大货用量表_table2").Cols("物料基本信息_布封").Width = 50
    Tables("大货用量表_table2").Cols("物料基本信息_克重").Width = 50
    Tables("大货用量表_table2").Cols("物料基本信息_布封").Width = 50
    Tables("大货用量表_table2").Cols("物料基本信息_单位").Width = 25
    Tables("大货用量表_table2").Cols("物料基本信息_版规格配色要求").Width = 120
    Tables("大货用量表_table2").Cols("物料基本信息_不分色").Width = 40
    Tables("大货用量表_table2").Cols("物料基本信息_适用颜色").Width = 80
    Tables("大货用量表_table2").Cols("物料基本信息_同色").Width = 25
    Tables("大货用量表_table2").Cols("物料基本信息_同量").Width = 25
    Tables("大货用量表_table2").Cols("物料基本信息_分码").Width = 25
    Tables("大货用量表_table2").Cols("物料基本信息_适用尺码").Width = 100
    Tables("大货用量表_table2").Cols("物料基本信息_物料编码").Width = 100
    Tables("大货用量表_table2").Cols("用量信息_待定").Width = 25
    Tables("大货用量表_table2").Cols("用量信息_上级").Width = 30
    Tables("大货用量表_table2").Cols("用量信息_领料部门").Width = 40
    Tables("大货用量表_table2").Cols("用量信息_变更日期").Width = 80
    Tables("大货用量表_table2").Cols("用量信息_下级").Width = 30
    Tables("大货用量表_table2").Cols("供应商属性_供应商名称").Width = 80
    Tables("大货用量表_table2").Cols("供应商属性_转换率").Width = 50
    Tables("大货用量表_table2").Cols("供应商属性_采购单位").Width = 25
    Tables("大货用量表_table2").Cols("供应商属性_成份").Width = 100
    Tables("大货用量表_table2").Cols("款号").Width = 50



End If
Tables("大货用量表_table2").ResumeRedraw

保存按钮代码:
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("颜色1")=drr("颜色1")
    dr1("颜色2")=drr("颜色2")
    dr1("颜色3")=drr("颜色3")
    dr1("颜色4")=drr("颜色4")
    dr1("颜色5")=drr("颜色5")
    dr1("颜色6")=drr("颜色6")
    dr1("颜色7")=drr("颜色7")
    dr1("颜色8")=drr("颜色8")
    dr1("颜色9")=drr("颜色9")
    dr1("颜色10")=drr("颜色10")
    dr1("颜色11")=drr("颜色11")
    dr1("颜色12")=drr("颜色12")
    dr1("颜色13")=drr("颜色13")
    dr1("颜色14")=drr("颜色14")
    dr1("颜色15")=drr("颜色15")
    dr1("颜色16")=drr("颜色16")
    dr1("颜色17")=drr("颜色17")
    dr1("颜色18")=drr("颜色18")
    dr1("颜色19")=drr("颜色19")
    dr1("颜色20")=drr("颜色20")
    dr1("尺码1")=drr("尺码1")
    dr1("尺码2")=drr("尺码2")
    dr1("尺码3")=drr("尺码3")
    dr1("尺码4")=drr("尺码4")
    dr1("尺码5")=drr("尺码5")
    dr1("尺码6")=drr("尺码6")
    dr1("尺码7")=drr("尺码7")
    dr1("尺码8")=drr("尺码8")
    dr1("尺码9")=drr("尺码9")
    dr1("尺码10")=drr("尺码10")
    dr1("尺码11")=drr("尺码11")
    dr1("尺码12")=drr("尺码12")
    dr1("尺码13")=drr("尺码13")
    dr1("尺码14")=drr("尺码14")
    dr1("尺码15")=drr("尺码15")
    dr1("尺码16")=drr("尺码16")
    dr1("尺码17")=drr("尺码17")
    dr1("尺码18")=drr("尺码18")
    dr1("尺码19")=drr("尺码19")
    dr1("尺码20")=drr("尺码20")
    dr1("尺码21")=drr("尺码21")
    dr1("尺码22")=drr("尺码22")
    dr1("尺码23")=drr("尺码23")
    dr1("尺码24")=drr("尺码24")
    dr1("尺码25")=drr("尺码25")

    dr1.Save()
Next

 回到顶部
总数 13 1 2 下一页