afterload代码:就是把每个控件都显示出来
DataTables("盖楼").LoadFilter = "BUG_ID = '" & Vars("BUGID") & "'"
DataTables("盖楼").Load
For Each r As DataRow In DataTables("盖楼").DataRows
If r.Isnull("BUG_ID") = False And r.Isnull("备注") = False And r.Isnull("回复者") = False And r.Isnull("回复时间") = False Then
static i As Integer = 0
static y As Integer = 20
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 = y
txt.height = 50
txt.MultiLine = True
txt.ScrollBars = Windows.Forms.ScrollBars.Vertical
txt.SetBounds(150,y,500,50)
e.Form.AddControl(txt)
label1.Left = 50
label1.Top = y
e.Form.AddControl(label1)
Dim str As String
Dim id As Integer
id = user.name.IndexOf("@")
str = user.name.SubString(0,id)
label1.Text = i & "楼" & str
label2.SetBounds(50,y + 20,100,50)
label2.Left = 50
label2.Top = y + 20
e.Form.AddControl(label2)
label2.Text = Date.now
txt.text = r("备注")
label1.Text = r("回复者")
label2.Text = r("回复时间")
i+= 1
y += txt.height + 10
End If
Next
盖楼click代码:应该有问题。假如已经有了3个textbox了。这时,执行它,不就又覆盖了第一个了吗。如何判断已有的textbox的top距离。
DataTables("盖楼").LoadFilter = "BUG_ID = '" & Vars("BUGID") & "'"
DataTables("盖楼").Load
Dim r As Row = Tables("盖楼").AddNew()
r("BUG_ID") = Vars("BUGID")
static i As Integer = 0
static y As Integer = 20
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 = y
txt.height = 50
txt.MultiLine = True
txt.ScrollBars = Windows.Forms.ScrollBars.Vertical
txt.SetBounds(150,y,500,50)
e.Form.AddControl(txt)
label1.Left = 50
label1.Top = y
e.Form.AddControl(label1)
Dim str As String
Dim id As Integer
id = user.name.IndexOf("@")
str = user.name.SubString(0,id)
label1.Text = i & "楼" & str
r("回复者") = label1.Text
label2.SetBounds(50,y + 20,100,50)
label2.Left = 50
label2.Top = y + 20
e.Form.AddControl(label2)
label2.Text = Date.now
r("回复时间") = label2.Text
i+= 1
y += txt.height + 10