我想制作一个Button。
我有一个EDT“Resigning”,它无法编辑,只能编辑一次,当我按下按钮时。 单击按钮时,对话框将弹出我可以输入日期的位置。
我必须写一堂课,但我正在努力奋斗......
善意的问候
Khashayar
答案 0 :(得分:1)
您可以在按钮的clicked
方法中编写代码。
这是一项简单的工作:
static void StackOverflow(Args _args)
{
Dialog dialog;
DialogField dialogDate;
date newDate;
;
dialog = new Dialog("Set new date");
dialogDate = dialog.addField(ExtendedTypeStr("YourEDTName"), "New date:");
if (dialog.run())
{
newDate = dialogDate.value(); //Get value of new date.
//Here code to update your table
}
}
答案 1 :(得分:0)
为防止覆盖现有值,您可以按以下方式修改方法:
public void clicked()
{
Dialog dialog;
DialogField dialogDate;
date newDate;
;
if (EmploymentTable.Resigning == dateNull())
{
dialog = new Dialog("Set new date");
dialogDate = dialog.addField(ExtendedTypeStr("YourEDTName"), "New date:");
if (dialog.run())
{
newDate = dialogDate.value(); //Get value of new date.
//Here code to update your table
}
}
else
{
warning("Value already exists.");
}
}
上面的代码是在允许分配新值之前检查值是否已存在。
如果值已存在,更好的方法是禁用按钮。为此,请编写一个方法来禁用/启用您的按钮,并在表单数据源的active
方法中调用它。