以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教增加行 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=24790) |
-- 作者:秦胜雄 -- 发布时间:2012/10/23 14:37:00 -- 请教增加行 Select Case e.DataCol.Name
怎样修改才能使仓库增加的行不为空行,规格列不重复的规格,谢谢!!!!!! |
-- 作者:lin_hailun -- 发布时间:2012/10/23 15:49:00 -- 代码实现了规格不为空了吧? 楼主,我看不懂你的意思。 [此贴子已经被作者于2012-10-23 15:49:07编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2012/10/23 16:36:00 -- 我也不明白,如果只是为了禁止输入重复值,可以看看:
http://www.foxtable.com/help/topics/2481.htm
|
-- 作者:秦胜雄 -- 发布时间:2012/10/24 9:34:00 -- 在订单表编辑规格,列表项目是仓库表的规格列,如果有就在列表项目提取,没有就创建在仓库表新增行里,现在就是输入已有的规格,仓库表增加空行,新建的没问题。
If e.DataCol.Name = "规格" Then 这个也试过,仓库表还是增加空行,没则只有到这里来求教。 |
-- 作者:lin_hailun -- 发布时间:2012/10/24 9:48:00 -- 应该不会是这段代码的问题吧。 你用msgbox()弹出相关的值看一看,关键是看最里面的代码是否有执行。 楼主自己调试一下。 |
-- 作者:秦胜雄 -- 发布时间:2012/10/24 10:29:00 -- 我是刚刚开始学,消息框不会用,要实现您说的“代码实现了规格不为空了吧?”,应该怎么修改,谢谢!!! |
-- 作者:lin_hailun -- 发布时间:2012/10/24 10:43:00 -- 楼主,把代码改成下面这样,,看是否弹出消息框。 如果有弹出,就看一下你设置的关联是否正确,是否存在“规格”,对应的表是否正确。 Select Case e.DataCol.Name Case "规格" If e.DataRow.IsNull("规格") = False Then If e.DataRow.GetChildRows("规格").Count = 0 Then msgBox(1) Dim dr As DataRow = DataTables("仓库").AddNew() dr("规格") = e.DataRow("规格") End If End If End Select |
-- 作者:秦胜雄 -- 发布时间:2012/10/24 10:55:00 -- 谢谢!!!! 问题解决。 |
-- 作者:秦胜雄 -- 发布时间:2012/10/24 11:15:00 -- 谢谢您给我的帮助,现在还有个新问题,仓库表里出现了重复的规格,能帮忙解决吗?谢谢!!!!
|
-- 作者:lin_hailun -- 发布时间:2012/10/24 14:23:00 -- 删除重复代码。 Dim dt As DataTable = DataTables("仓库") Dim guiges As List(Of String) = dt.GetUniqueValues("规格 is not null", "规格") Dim idxs As String = "" For Each guige As String In guiges Dim dr As DataRow = dt.Find("规格 = \'" & guige & "\'") idxs = idxs & dr("_Identify") & "," Next idxs = idxs.Trim(",") DataTables("订单").DeleteFor("_Identify not in (" & idxs & ")") |