private void InitGridYZ(string[] GrdMappingName, int[] GrdWidth, int[] Alignment, int[] ReadOnly, DataGridEx myDataGrid) { //myDataGrid.TableStyles[0].AllowSorting=false; //不允许排序 DataGridEnableTextBoxColumn aColumnTextColumn; for (int i = 0; i <= GrdMappingName.Length - 1; i++) { if (GrdMappingName[i].ToString().Trim() == "选") { DataGridEnableBoolColumn myBoolCol = new DataGridEnableBoolColumn(i); myBoolCol.CheckCellEnabled += new DataGridEnableBoolColumn.EnableCellEventHandler(SetEnableValues); myDataGrid.TableStyles[0].GridColumnStyles.Add(myBoolCol); myDataGrid.TableStyles[0].GridColumnStyles[i].MappingName = GrdMappingName[i].ToString(); myDataGrid.TableStyles[0].GridColumnStyles[i].Width = GrdWidth[i] == 0 ? 0 : (GrdWidth[i] * 7 + 2); //myBoolCol.tool //this.toolTip2 //myBoolCol.too } else { aColumnTextColumn = new DataGridEnableTextBoxColumn(i); aColumnTextColumn.CheckCellEnabled += new DataGridEnableTextBoxColumn.EnableCellEventHandler(SetEnableValues); myDataGrid.TableStyles[0].GridColumnStyles.Add(aColumnTextColumn); myDataGrid.TableStyles[0].GridColumnStyles[i].MappingName = GrdMappingName[i].ToString(); myDataGrid.TableStyles[0].GridColumnStyles[i].HeaderText = GrdMappingName[i].ToString().Trim(); myFunc.InitGrid_Sub(i, GrdMappingName, GrdWidth, Alignment, myDataGrid); if (ReadOnly[i] != 0) { myDataGrid.TableStyles[0].GridColumnStyles[i].ReadOnly = true; } } } }
//列颜色改变事件 private void myDataGrid1_CheckCellEnabled(object sender, DataGridEnableEventArgs e) { try { e.BackColor = Color.White; DataTable tb; if (sender.GetType().ToString() == "TrasenClasses.GeneralControls.DataGridEnableBoolColumn") { DataGridEnableBoolColumn column = (DataGridEnableBoolColumn)sender; tb = (DataTable)column.DataGridTableStyle.DataGrid.DataSource; } else { DataGridEnableTextBoxColumn tbxColumn = (DataGridEnableTextBoxColumn)sender; tb = (DataTable)tbxColumn.DataGridTableStyle.DataGrid.DataSource; } if (e.Row > tb.Rows.Count - 1) { return; } // if (tb.Rows[e.Row]["cjid"].ToString().Trim()=="") // e.BackColor=Color.Azure; if (tb.Rows[e.Row]["发药"].ToString().Trim() == "◆") { e.ForeColor = Color.Blue; } if (tb.Rows[e.Row]["发药"].ToString().Trim() == "") { //if (tabControl1.SelectedTab == tabPage1) //{ // if (tb.Rows[e.Row]["床号"] != null && tb.Rows[e.Row]["床号"].ToString().Trim() != string.Empty) // { // tb.Rows[e.Row]["发药"] = "◆"; // e.ForeColor = Color.Blue;//Color.Black; // } // else // { // //tb.Rows[e.Row]["发药"] = string.Empty; // e.ForeColor = Color.Black; // } //} //else //{ e.ForeColor = Color.Black; //} } if (tb.Rows[e.Row]["发药"].ToString().Trim() == "√") { e.ForeColor = Color.Gray; } } catch (System.Exception err) { MessageBox.Show(err.Message); } // }
/// <summary> /// 初始化dataGrid /// </summary> /// <param name="GrdMappingName"></param> MappingName数组 /// <param name="GrdHeaderText"></param> GrdHeaderText数组 /// <param name="GrdWidth"></param> Width数组 /// <param name="GrdReadOnly"></param> ReadOnly数组 /// <param name="mydataGrid"></param> public void InitmyGrd(string[] GrdMappingName, string[] GrdHeaderText, int[] GrdWidth, bool[] GrdReadOnly, DataGridEx myDataGrid) { //int i = 0; //DataTable myTb = new DataTable(); //for (i = 0; i <= GrdMappingName.Length - 1; i++) //{ // myTb.Columns.Add(GrdMappingName[i].ToString()); //} //myTb.Rows.Add(myTb.NewRow()); //dataGrid.DataSource = myTb; myDataGrid.TableStyles[0].AllowSorting = false; myDataGrid.TableStyles[0].RowHeaderWidth = 5; //for (i = 0; i <= GrdMappingName.Length - 1; i++) //{ // if (GrdMappingName[i].ToString().Trim() == "选" || GrdMappingName[i].ToString().Trim() == "P") // { // DataGridEnableBoolColumn myBoolCol = new DataGridEnableBoolColumn(i); // if (GrdMappingName[i].ToString().Trim() == "P") // { // myBoolCol.AllowNull = false; // myBoolCol.TrueValue = (short)1; // myBoolCol.FalseValue = (short)0; // myBoolCol.NullValue = (short)0; // } // myBoolCol.CheckCellEnabled += new DataGridEnableBoolColumn.EnableCellEventHandler(SetEnableValues); // dataGrid.TableStyles[0].GridColumnStyles.Add(myBoolCol); // dataGrid.TableStyles[0].GridColumnStyles[i].MappingName = GrdMappingName[i].ToString(); // dataGrid.TableStyles[0].GridColumnStyles[i].Width = GrdWidth[i] == 0 ? 0 : (GrdWidth[i] * 7 + 2); // } // else // { // dataGrid.TableStyles[0].GridColumnStyles[i].NullText = ""; // dataGrid.TableStyles[0].GridColumnStyles[i].MappingName = GrdMappingName[i].ToString(); // dataGrid.TableStyles[0].GridColumnStyles[i].Width = GrdWidth[i]; // if (GrdWidth[i] != 0) dataGrid.TableStyles[0].GridColumnStyles[i].HeaderText = GrdHeaderText[i].ToString(); // dataGrid.TableStyles[0].GridColumnStyles[i].ReadOnly = GrdReadOnly[i]; // } //} DataGridEnableTextBoxColumn aColumnTextColumn; for (int i = 0; i <= GrdMappingName.Length - 1; i++) { if (GrdMappingName[i].ToString().Trim() == "选" || GrdMappingName[i].ToString().Trim() == "P") { DataGridEnableBoolColumn myBoolCol = new DataGridEnableBoolColumn(i); if (GrdMappingName[i].ToString().Trim() == "P") { myBoolCol.AllowNull = false; myBoolCol.TrueValue = (short)1; myBoolCol.FalseValue = (short)0; myBoolCol.NullValue = (short)0; } myBoolCol.CheckCellEnabled += new DataGridEnableBoolColumn.EnableCellEventHandler(SetEnableValues); myDataGrid.TableStyles[0].GridColumnStyles.Add(myBoolCol); myDataGrid.TableStyles[0].GridColumnStyles[i].MappingName = GrdMappingName[i].ToString(); myDataGrid.TableStyles[0].GridColumnStyles[i].HeaderText = GrdMappingName[i].ToString().Trim(); myDataGrid.TableStyles[0].GridColumnStyles[i].Width = GrdWidth[i]; myDataGrid.TableStyles[0].GridColumnStyles[i].ReadOnly = GrdReadOnly[i]; } else { aColumnTextColumn = new DataGridEnableTextBoxColumn(i); aColumnTextColumn.CheckCellEnabled += new DataGridEnableTextBoxColumn.EnableCellEventHandler(SetEnableValues); myDataGrid.TableStyles[0].GridColumnStyles.Add(aColumnTextColumn); myDataGrid.TableStyles[0].GridColumnStyles[i].NullText = ""; myDataGrid.TableStyles[0].GridColumnStyles[i].MappingName = GrdMappingName[i].ToString(); myDataGrid.TableStyles[0].GridColumnStyles[i].HeaderText = GrdMappingName[i].ToString().Trim(); myDataGrid.TableStyles[0].GridColumnStyles[i].Width = GrdWidth[i]; myDataGrid.TableStyles[0].GridColumnStyles[i].ReadOnly = GrdReadOnly[i]; } } }