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("**");