/// <summary> /// 用户点击角色列表单元事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataGridViewRoleList_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex < 0) { return; } if (AuthChanged) { btnSave_Click(null, null); } try { var row = this.dataGridViewRoleList.Rows[e.RowIndex]; SelectedRole = row.DataBoundItem as Role; SelectedModuleCatetory = ModuleCatetories.FirstOrDefault(); BindModuleCatetories(); SetDataGridViewModuleCatetoryListDefault(); BindSelectedModuleCatetorysModules(); GetModuleWithRoles(); BindSelectedRolesModules(); btnCancel_Click(null, null); } catch (Exception ex) { SelectedRole = null; ex = new Exception("用户点击角色列表单元事件处理失败", ex); Log.Error(ex); MessageBox.Show(this.Text + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Stop); } }
/// <summary> /// 设置默认选择的模块分类 /// </summary> protected void SetDataGridViewModuleCatetoryListDefault() { DataGridViewRowCollection rows = this.dataGridViewModuleCatetoryList.Rows; if (rows.Count < 1) { return; } if (SelectedModuleCatetory == null) { if (ModuleCatetories != null) { SelectedModuleCatetory = ModuleCatetories.FirstOrDefault(); } } if (SelectedModuleCatetory != null) { ModuleCatetory catetory; foreach (DataGridViewRow row in rows) { catetory = row.DataBoundItem as ModuleCatetory; if (catetory != null) { if (catetory.Id == SelectedModuleCatetory.Id) { dataGridViewModuleCatetoryList.ClearSelection(); row.Selected = true; break; } } } } }
/// <summary> /// 从服务器获取所有模块分类 /// </summary> /// <returns></returns> protected bool GetModuleCatetories() { ModuleCatetories = null; try { string message; ModuleCatetories = PharmacyDatabaseService.AllModuleCatetorys(out message) .OrderBy(mc => mc.Name) .OrderBy(mc => mc.Index) .ToList(); if (!string.IsNullOrWhiteSpace(message)) { throw new Exception(message); } SelectedModuleCatetory = ModuleCatetories.FirstOrDefault();//设置选择的默认 return(true); } catch (Exception ex) { ModuleCatetories = null; ex = new Exception("从服务器获取所有模块分类失败", ex); Log.Error(ex); MessageBox.Show(this.Text + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Stop); return(false); } }