Foxtable(狐表)用户栏目专家坐堂 → [求助]多人操作---自动增加控件报错


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

主题:[求助]多人操作---自动增加控件报错

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
[求助]多人操作---自动增加控件报错  发帖心情 Post By:2016/3/17 15:43:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:控件.png
图片点击可在新窗口打开查看
盖楼click代码:
Dim r As Row = Tables("盖楼").AddNew()
r("BUG_ID") = Vars("BUGID")
Dim txt As WinForm.TextBox
Dim Label1,label2 As WinForm.Label
txt = e.Form.CreateControl("TextBox" & r("_Identify"), ControlTypeEnum.TextBox)
label1 = e.Form.CreateControl("label1" & r("_Identify"), ControlTypeEnum.label)
label2 = e.Form.CreateControl("label2" & r("_Identify"), ControlTypeEnum.label)
msgbox(txt.text)
txt.Left = 150
txt.Top = Vars("yyy")
txt.height = 50
txt.MultiLine = True
txt.ScrollBars = Windows.Forms.ScrollBars.Vertical
txt.SetBounds(150,Vars("yyy"),500,50)
e.Form.AddControl(txt)
label1.Left = 50
label1.Top = Vars("yyy")
e.Form.AddControl(label1)
Dim str As String
Dim id  As Integer
id = user.name.IndexOf("@")
str = user.name.SubString(0,id)
label1.Text = Vars("iii") & "楼" & str
r("回复者") = label1.Text
label2.Left = 50
label2.Top = Vars("yyy") + 15
label2.Height = 30
e.Form.AddControl(label2)
label2.Text = Date.now
r("回复时间") = label2.Text
txt.readonly = r("提交")
Vars("iii") += 1
Vars("yyy") += txt.height + 10
DataTables("盖楼").save

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/3/17 15:48:00 [显示全部帖子]

单人操作没有报过错。
多人操作就会出现报错。

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/3/17 15:55:00 [显示全部帖子]

涉及到多人操作,是不是应该先去判断一下谁先增加了控件,比如设了一个标示。另外一个人操作的时候先去找最大的标示,然后才能增加标示。

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/3/17 16:02:00 [显示全部帖子]

大红袍老师救急啊。这个怎么弄?

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/3/17 16:38:00 [显示全部帖子]

A添加了1,2,B添加了3,4.
A下次添加的时候应该能看到B增加的3,4.同样B也能看到A的1,2.
不是说A,B是独立的。

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/3/17 16:47:00 [显示全部帖子]

能远程帮忙看看吗?自己实在是搞不定。拜托啊。

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/3/17 16:53:00 [显示全部帖子]

问了你们客服,可是他也没解决。希望你能帮我一下。可以不?

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/3/17 17:43:00 [显示全部帖子]

发送click代码
Dim str As String
Dim id As Integer
id = user.name.IndexOf("@")
str = user.name.SubString(0,id)
Dim lts As List(of DataRow) = DataTables("盖楼").SQLSelect("回复者 like '%" & str & "%'  And 备注 Is Not null And 提交 = 0 ")
For Each lt As DataRow In lts    
    lt("提交") = True
    e.Form.Controls("TextBox" & lt("_Identify")).ReadOnly = BooleanEnum.True
    e.Form.Controls("label2" & lt("_Identify")).text = Date.now
    msgbox("TextBox" & lt("_Identify"))
    msgbox("label2" & lt("_Identify"))    
    lt.save
    lt.Locked = True
Next
DataTables("盖楼").SQLUpdate(lts)

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/3/17 18:03:00 [显示全部帖子]

我把刷新写入到了盖楼click。
Dim drs As List(of DataRow) = DataTables("盖楼").SQLSelect("BUG_ID = '" & Vars("BUGID") & "'")
Vars("iii") = 0
Vars("yyy") = 20
For Each dr As DataRow In drs
    If dr.Isnull("BUG_ID") = False And dr.Isnull("备注") = False And dr.Isnull("回复者") = False And dr.Isnull("回复时间") = False Then
        Dim txt1 As WinForm.TextBox
        Dim Label11,label22 As WinForm.Label
        txt1 = e.Form.CreateControl("TextBox" & dr("_Identify"), ControlTypeEnum.TextBox)
        label11 = e.Form.CreateControl("label11" & dr("_Identify"), ControlTypeEnum.label)
        label22 = e.Form.CreateControl("label22" & dr("_Identify"), ControlTypeEnum.label)
        txt1.Left = 150
        txt1.Top = Vars("yyy")
        txt1.height = 50
        txt1.MultiLine = True
        txt1.ScrollBars = Windows.Forms.ScrollBars.Vertical
        txt1.SetBounds(150,Vars("yyy"),500,50)
        e.Form.AddControl(txt1)
        label11.Left = 50
        label11.Top = Vars("yyy")
        e.Form.AddControl(label11)
        Dim str1 As String
        Dim id1  As Integer
        id1 = user.name.IndexOf("@")
        str1 = user.name.SubString(0,id1)
        label11.Text = Vars("iii") & "楼" & str1
        label22.Left = 50
        label22.Top = Vars("yyy") + 20
        label22.Height =30
        e.Form.AddControl(label22)
        label22.Text = Date.now
        txt1.text = dr("备注")
        label11.Text = dr("回复者")
        label22.Text = dr("回复时间")
        If dr("提交") = True Then
            txt1.readonly = BooleanEnum.True
        Else
            txt1.readonly = BooleanEnum.False
        End If
        Vars("iii") += 1
        Vars("yyy") += txt1.height + 10
    End If
Next
Dim r As Row = Tables("盖楼").AddNew()
r("BUG_ID") = Vars("BUGID")
Dim txt As WinForm.TextBox
Dim Label1,label2 As WinForm.Label
txt = e.Form.CreateControl("TextBox" & r("_Identify"), ControlTypeEnum.TextBox)
label1 = e.Form.CreateControl("label1" & r("_Identify"), ControlTypeEnum.label)
label2 = e.Form.CreateControl("label2" & r("_Identify"), ControlTypeEnum.label)
txt.Left = 150
txt.Top = Vars("yyy")
txt.height = 50
txt.MultiLine = True
txt.ScrollBars = Windows.Forms.ScrollBars.Vertical
txt.SetBounds(150,Vars("yyy"),500,50)
e.Form.AddControl(txt)
label1.Left = 50
label1.Top = Vars("yyy")
e.Form.AddControl(label1)
Dim str As String
Dim id  As Integer
id = user.name.IndexOf("@")
str = user.name.SubString(0,id)
label1.Text = Vars("iii") & "楼" & str
r("回复者") = label1.Text
label2.Left = 50
label2.Top = Vars("yyy") + 15
label2.Height = 30
e.Form.AddControl(label2)
label2.Text = Date.now
r("回复时间") = label2.Text
txt.readonly = r("提交")
'Vars("iii") += 1
'Vars("yyy") += txt.height + 10
DataTables("盖楼").save

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/3/17 18:08:00 [显示全部帖子]

textchanged代码:
If e.Sender.Name Like "TextBox*" Then
    Dim fdr As DataRow = DataTables("盖楼").sqlFind("_Identify = '" & e.Sender.name.Replace("TextBox", "") & "'")
    If fdr IsNot Nothing Then
        fdr("备注") = e.sender.Text
        fdr.Save
    End If
End If

发现label1,label2,textbox内容如果多人操作,会错乱。
脑袋都大了。

 回到顶部
总数 22 1 2 3 下一页