void radioGroup_ValueTextChanged(object sender, EventArgs e) { XRadioboxGroup radioBox = (sender as XRadioboxGroup); bool hpTreatAllSelect = true; if (radioBox.ValueText == ReportCodeDict.HP_TREAT_ALL_SELECT) { hpTreatAllSelect = true; } else { hpTreatAllSelect = false; } RowCollectionBase rows = gridView.DataTable.Rows; if (rows != null) { List <XDataRow> rowsList = rows.DataRowList; foreach (XDataRow row in rowsList) { OrdSrvDO orSrvDO = row.RowDataSource as OrdSrvDO; // 丙类的服务项目自费,非自费单选按钮状态设置为不可操作 if (orSrvDO.Sd_hpsrvtp == HpDicCodeConst.SD_HPSRVTP_CLASS_C) { continue; } XCheckboxGroup cell = row.ColumnCellDict["Eu_hpdoctorjudge"] as XCheckboxGroup; cell.checFirst.Checked = hpTreatAllSelect; cell.checSecond.Checked = !hpTreatAllSelect; orSrvDO.Eu_hpdoctorjudge = hpTreatAllSelect == true ? 1 : 2; } } }
/// <summary> /// 基于表格控件前面复选框的情况将被选择的医嘱的ID值搜集到本容器之中 /// </summary> /// <param name="gv">医嘱表格控件</param> /// <param name="keyName">主键的名字</param> /// <param name="flag">是否清除过去的</param> public void getSelectedRow(XapFormGridControl gv, string keyName, bool flag = true) { if (gv == null) { return; } RowCollectionBase rowCollection = gv.DataTable.Rows; if (flag) { selectedIds.Clear(); } int num = rowCollection.Count; for (int i = 0; i < num; i++) { string keyId = gv.DataTable.Rows[i].RowDataSource.GetPropValue(keyName) as string; if (!selectedIds.Contains(keyId) && gv.DataTable.Rows[i].Selected) { selectedIds.Add(keyId); } } }
/// <summary> /// 控制表格的选中状态 /// </summary> /// <param name="gv"></param> /// <param name="keyName"></param> public void setSelected(XapFormGridControl gv, string keyName) { if (gv == null || this.selectedIds.Count == 0) { return; } RowCollectionBase rowCollection = gv.DataTable.Rows; int num = rowCollection.Count; for (int i = 0; i < num; i++) { string keyId = gv.DataTable.Rows[i].RowDataSource.GetPropValue(keyName) as string; if (this.selectedIds.Contains(keyId)) { gv.DataTable.Rows[i].Selected = true; } } }