public void GridViewCheck(DevExpress.XtraGrid.Views.Grid.GridView gridView, string p, int id) { if (p == "user") { List<Users> listRelated = new List<Users>(); listRelated = WcfServiceLocator.Create<IUsersManage>().FindRelatedUsersForUserGroup(id); //找出和指定用户组关联的用户 for (int i = 0; i < gridView.RowCount; i++) { var check = listRelated.Exists(delegate(Users user) { if (user.id == (int)gridView.GetRowCellValue(i, "id")) return true; return false; }); gridView.SetRowCellValue(i, "isChecked", check); } } if (p == "role") { List<Users> listRelated = new List<Users>(); listRelated = WcfServiceLocator.Create<IRoleManage>().findRelatedUser(id); //找出和指定角色关联的用户 for (int i = 0; i < gridView.RowCount; i++) { var check = listRelated.Exists(delegate(Users user) { if (user.id == (int)gridView.GetRowCellValue(i, "id")) return true; return false; }); gridView.SetRowCellValue(i, "isChecked", check); } } if (p == "rolewithgroup") { List<Group> listRelated = new List<Group>(); listRelated = WcfServiceLocator.Create<IRoleManage>().findRelatedGroup(id); //找出和指定角色关联的用户 for (int i = 0; i < gridView.RowCount; i++) { var check = listRelated.Exists(delegate(Group group) { if (group.Id == (int)gridView.GetRowCellValue(i, "Id")) return true; return false; }); gridView.SetRowCellValue(i, "isChecked", check); } } }
public static void addChildRow(DevExpress.XtraGrid.Views.Grid.GridView view, int indexRow) { int newRowHandle = view.FocusedRowHandle; object newRow = view.GetRow(newRowHandle); if (view.GroupedColumns.Count > 0) { for (int i = 0; i < view.GroupedColumns.Count; i++) { view.SetRowCellValue(newRowHandle, view.GroupedColumns[i], indexRow); } } }
private GridView _view; //表格对象 #endregion Fields #region Methods /// <summary> /// 单击表格空间列头按钮 /// </summary> /// <param name="gridView"></param> /// <param name="fieldName"></param> /// <param name="currentStatus"></param> /// <returns></returns> public bool ClickGridCheckBox(DevExpress.XtraGrid.Views.Grid.GridView gridView, bool currentStatus) { bool result = false; if (gridView != null) { gridView.ClearSorting();//禁止排序 gridView.PostEditor(); DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo info; Point pt = gridView.GridControl.PointToClient(Control.MousePosition); info = gridView.CalcHitInfo(pt); if (info.InColumn && info.Column != null && info.Column.FieldName == _column.FieldName) { for (int i = 0; i < gridView.RowCount; i++) { gridView.SetRowCellValue(i, _column, !currentStatus); } return true; } } return result; }