private void AddOrEdit(UserDetailViewModel vmUsr) { var win = new UserDetailWindow(vmUsr); var rst = win.ShowDialog(); if (rst != null && rst == true) { base.SearchCmd.Execute(null); } }
private void Search(PagingArgs page) { base.Models = null;//没有使用ObservableCollection;这里不能用base.Models.Clear(),因为并不会触发base.RaisePropertyChanged var rst = HttpUtils.PostResult(ApiUtils.GetApiUrl(ApiKeys.GetUsrByPage), new { pageIndex = page.PageIndex, pageSize = page.PageSize, conditions = new Dictionary <string, string> { { "regioncode", Filter_RegionCode }, { "username", Filter_UserName }, { "truename", Filter_TrueName }, { "group", Filter_Group }, { "group_name", Filter_Group_Name }, } }, ClientContext.Token); if (rst.code != ResultCode.Success) { MessageWindow.ShowMsg(MessageType.Error, OperationDesc.Search, rst.msg); return; } if (rst.data != null && rst.data.total != null) { page.RecordsCount = (int)rst.data.total; if (page.RecordsCount == 0) { page.PageCount = 0; page.PageIndex = 1; return; } page.PageCount = Convert.ToInt32(Math.Ceiling(page.RecordsCount * 1.0 / page.PageSize)); var datas = rst.data.rows as JArray; if (datas.IsNotEmpty()) { IEnumerable <UserDetailViewModel> usrs = datas.Select(obj => { UserDetailViewModel usrVM = new UserDetailViewModel(needValidate: false);//列表数据只读时,不需要进行验证; var ins = JsonConvert.DeserializeObject(obj.ToString(), usrVM.userdata.GetType()); (ins as IUserVM).CopyTo(usrVM.userdata); usrVM.user_group_name = obj["user_group_name"].Value <string>(); return(usrVM); }); base.PageStart = page.Start; base.Models = (usrs as IEnumerable <CheckableModel>).ToList(); } } }