我怎样才能在对话框中写代码 "If i click "cancel",对话框将关闭并且该字段将不显示任何内容。"?
How can i write the code "If i click "cancel" in the dialog box,the dialog box will close and the field will show nothing."?
对不起,我的发言太长了...
我有一个表单,该表单有一个按钮和 field:Button 名称和字段名称是 跟踪原因。
如果我点击按钮,会出现一个选项框(选项框名称是askme)。在选项中,有一个选项,名字叫"other" , 供用户填写其他曲目原因。
如果我选择"other",然后会显示一个对话框来写入其他曲目reason.If我在对话框中写入一些东西(例如:测试),该字段将显示测试,并且对话框将 close.If 我在对话框中单击 "cancel",对话框将关闭并且该字段将不显示任何内容。
按钮代码如下:
data(0) = "New vendor"
data(1) = "More than tracked amount"
data(2) = "Change vendor"
data(3) = "other"
askme = ws.prompt(PROMPT_OKCANCELLIST,"Track reason","Please choose the reason..." , data(0) , data())
If askme = "" Then
Call uipr.FieldSetText("TRACK_MARK" ,"")
uipr.Refresh
Exit Sub
Else
If askme = data(0) Or askme = data(1) Or askme = data(2) Then
Call uipr.FieldSetText("TRACK_REASON" , askme + username(0) + " " + Cstr(temp_servertime) + ")" )
Else
Call ws.DialogBox("TrackComments" , True , True , False , False , False , False , "Please enter other reason..." , , True , False)
Call uipr.FieldSetText("TRACK_REASON" , "(" + uipr.FieldGetText("ANOTHER_REASON") + username(0) + " " + Cstr(temp_servertime) + ")" )
End If
End If
现在,我的问题是...我如何编写代码“如果我在对话框中单击 "cancel",对话框将关闭并且该字段将不显示任何内容."?
因为问题出在这里:
Call ws.DialogBox("TrackComments" , True , True , False , False , False , False , "Please enter other reason..." , , True , False)
Call uipr.FieldSetText("TRACK_REASON" , "(" + uipr.FieldGetText("ANOTHER_REASON") + username(0) + " " + Cstr(temp_servertime) + ")" )
现在,我单击 "cancel",对话框将关闭,但该字段将显示(示例:( Ariel 2020/02/25 02:20:00PM))。
我该怎么办?????
您需要检查用户是否按下了“确定”或“取消”。目前你不这样做。
像这样更改您的代码:
Dim ok as Variant
ok = ws.DialogBox("TrackComments" , True , True , False , False , False , False , "Please enter other reason..." , , True , False)
If ok then
Call uipr.FieldSetText("TRACK_REASON" , "(" + uipr.FieldGetText("ANOTHER_REASON") + username(0) + " " + Cstr(temp_servertime) + ")" )
Else
Call uipr.FieldSetText("TRACK_REASON" , "" )
End If
此外我建议使用后端class NotesDocument来设置文本,然后你可以让"TRACK_REASON"-字段计算(公式:@ThisValue)并且用户不能编辑它直接地。这在使用 frontendclass NotesUIDocument 时是不可能的。
那么您的代码将是:
If ok then
Call uipr.Document.ReplaceItemValue("TRACK_REASON" , "(" + uipr.Document.GetItemValue("ANOTHER_REASON")(0) + username(0) + " " + Cstr(temp_servertime) + ")" )
Else
Call uipr.Document.ReplaceItemValue("TRACK_REASON" , "" )
End If
对不起,我的发言太长了...
我有一个表单,该表单有一个按钮和 field:Button 名称和字段名称是 跟踪原因。
如果我点击按钮,会出现一个选项框(选项框名称是askme)。在选项中,有一个选项,名字叫"other" , 供用户填写其他曲目原因。
如果我选择"other",然后会显示一个对话框来写入其他曲目reason.If我在对话框中写入一些东西(例如:测试),该字段将显示测试,并且对话框将 close.If 我在对话框中单击 "cancel",对话框将关闭并且该字段将不显示任何内容。
按钮代码如下:
data(0) = "New vendor"
data(1) = "More than tracked amount"
data(2) = "Change vendor"
data(3) = "other"
askme = ws.prompt(PROMPT_OKCANCELLIST,"Track reason","Please choose the reason..." , data(0) , data())
If askme = "" Then
Call uipr.FieldSetText("TRACK_MARK" ,"")
uipr.Refresh
Exit Sub
Else
If askme = data(0) Or askme = data(1) Or askme = data(2) Then
Call uipr.FieldSetText("TRACK_REASON" , askme + username(0) + " " + Cstr(temp_servertime) + ")" )
Else
Call ws.DialogBox("TrackComments" , True , True , False , False , False , False , "Please enter other reason..." , , True , False)
Call uipr.FieldSetText("TRACK_REASON" , "(" + uipr.FieldGetText("ANOTHER_REASON") + username(0) + " " + Cstr(temp_servertime) + ")" )
End If
End If
现在,我的问题是...我如何编写代码“如果我在对话框中单击 "cancel",对话框将关闭并且该字段将不显示任何内容."? 因为问题出在这里:
Call ws.DialogBox("TrackComments" , True , True , False , False , False , False , "Please enter other reason..." , , True , False)
Call uipr.FieldSetText("TRACK_REASON" , "(" + uipr.FieldGetText("ANOTHER_REASON") + username(0) + " " + Cstr(temp_servertime) + ")" )
现在,我单击 "cancel",对话框将关闭,但该字段将显示(示例:( Ariel 2020/02/25 02:20:00PM))。
我该怎么办?????
您需要检查用户是否按下了“确定”或“取消”。目前你不这样做。
像这样更改您的代码:
Dim ok as Variant
ok = ws.DialogBox("TrackComments" , True , True , False , False , False , False , "Please enter other reason..." , , True , False)
If ok then
Call uipr.FieldSetText("TRACK_REASON" , "(" + uipr.FieldGetText("ANOTHER_REASON") + username(0) + " " + Cstr(temp_servertime) + ")" )
Else
Call uipr.FieldSetText("TRACK_REASON" , "" )
End If
此外我建议使用后端class NotesDocument来设置文本,然后你可以让"TRACK_REASON"-字段计算(公式:@ThisValue)并且用户不能编辑它直接地。这在使用 frontendclass NotesUIDocument 时是不可能的。
那么您的代码将是:
If ok then
Call uipr.Document.ReplaceItemValue("TRACK_REASON" , "(" + uipr.Document.GetItemValue("ANOTHER_REASON")(0) + username(0) + " " + Cstr(temp_servertime) + ")" )
Else
Call uipr.Document.ReplaceItemValue("TRACK_REASON" , "" )
End If