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>