WTM框之—数据列表上添加按钮的学习记录

如何在数据列表上添加一个自定义按钮

在ListVM里的InitGridAction方法里添加

this.MakeAction("Patient","Generate","生成病例","生成",GridActionParameterTypesEnum.NoId,"Patients","600").SetIconCls("layui-icon layui-icon-add-1");

Patient 表示一个Controller
Generate 表示一个Action
生成病例 会显示在按钮,做为按钮的名称
生成 按钮点击弹出框后,弹出框的标题
GridActionParameterTypesEnum.NoId 表示不需要传任何信息
Patients 指的是Area的名称
600 表示弹出窗口的宽度(高度会自适应)
SetIconCls


GridActionParameterTypesEnum 枚举有多个,如:AddRow Multilds NoId RemoveRow SingleId SingleldWithNull

作者说:RemoveRow这些用于主子表的保存,后面学到后再记录。

还支持很多方法,如:
SetMax 打开窗口时直接最大化


当前按钮执行完后,想刷新列表,可以在后台使用:

public class PatientGeneratVM :BaseVM
{
  [Display(Name="生成数量")]
  public int GenerateCount{ get; set; }
  public void DoGen()
  {
    //这里面是要执行的逻辑
  }
}
public ActionResult Generate()
{
  var vm = CreateVM<PatientGeneratVM>();
  return PartialView(vm);
}

[HttpPost]
public ActionResult Generate(PatientGeneratVM vm)
{
  vm.DoGen();
  return FFResult().CloseDialog().RefreshGrid().Alert("成功生成"+ vm.GenerateCount+"行数据");
}

前台:

@model ERCS.ViewModel.Patients.PatientVMs.PatientGeneratVM

<wt:form vm="@Model">
<wt:row items-per-row="ItemsPerRowEnum.Two">
<wt:textbox field="GenerateCount" />
</wt:row>
<wt:row align="AlignEnum.Right">
<wt:submitbutton />
<wt:closebutton />
</wt:row>
</wt:form>

  

原文地址:https://www.cnblogs.com/wjx-blog/p/14230313.html