public class useDatrgrivView { string conn = null; string sqlComm = null; DataSet das = null; DataGridView GridView = null; //初始化,綁定 public useDatrgrivView(DataGridView gridView, string Sconn, string sql) { conn = Sconn; GridView = gridView; sqlComm = sql; das = SqlHelper.ExecuteDataset(conn, CommandType.Text, sqlComm); //綁定 GridView.DataSource = das.Tables[0]; } #region 凍結列 /// <summary> /// 凍結列 /// </summary> /// <param name="ColumnName">列名</param> public void FrozenColumns(string ColumnName) { GridView.Columns[ColumnName].Frozen = true; } /// <summary> /// 凍結列 /// </summary> /// <param name="grid">表格控件</param> /// <param name="ColumnName">列名</param> public void FrozenColumns(DataGridView grid, string ColumnName) { grid.Columns[ColumnName].Frozen = true; } #endregion /// <summary> /// 表格奇偶行變換顏色,利用循環實現 /// </summary> /// <param name="color">顏色</param> public void RowColorChange(Color color) { if (GridView.Rows.Count != 0) { for (int i = 0; i < GridView.Rows.Count; ) { GridView.Rows[i].DefaultCellStyle.BackColor = color; i += 2; } } } #region 關鍵字查找 /// <summary> /// 關鍵字查找 ,並顯示第一個查找到的,關將焦點轉移到此 /// </summary> /// <param name="SearchKey">查找的關鍵字</param> /// <returns>焦點的行</returns> public int SearchByKey(string SearchKey) { int j; for ( j = 0; j != GridView.Rows.Count - 1; j++) { DataGridViewRow dvr = GridView.Rows[j]; for (int i = 0; i < GridView.ColumnCount; i++) { if (dvr.Cells[i].Value.ToString().StartsWith(SearchKey)) { GridView.ClearSelection(); dvr.Selected = true; GridView.CurrentCell = dvr.Cells[1]; break; } } } return j; } /// <summary> /// 關鍵字查找 ,並顯示第一個查找到的,關將焦點轉移到此 /// </summary> /// <param name="SearchStar">從哪行開始查找</param> /// <param name="SearchKey">關鍵字</param> /// <returns>焦點的行</returns> public int SearchByKeyNex(int SearchStar, string SearchKey) { int j = SearchStar; for (j = 0; j != GridView.Rows.Count - 1; j++) { DataGridViewRow dvr = GridView.Rows[j]; for (int i = 0; i < GridView.ColumnCount; i++) { if (dvr.Cells[i].Value.ToString().StartsWith(SearchKey)) { GridView.ClearSelection(); dvr.Selected = true; GridView.CurrentCell = dvr.Cells[1]; break; } } } return j; } #endregion }
調用 :
udv.FrozenColumns("***"); //奇偶行顏色 udv.RowColorChange(System.Drawing.Color.Pink); //關鍵字查找 udv.SearchByKey("**");