private void OnCellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (mRegCardNum.IsMatch(dgView.Columns[e.ColumnIndex].Name)) { //chage to base64 string string sCardNum = e.Value as string; sCardNum = MyCrypt.Encode(sCardNum, 0x21); //简单加一加密码 byte[] bytes = Encoding.ASCII.GetBytes(sCardNum ?? string.Empty); string sBase64 = Convert.ToBase64String(bytes); e.Value = sBase64; } }
/// <summary> /// 使用DataTable来填充 /// </summary> /// <param name="dt"></param> public void FillBy(DataTable dt) { Cols.Clear(); Rows.Clear(); var regCardNum = new Regex(msRegCardNum, RegexOptions.IgnoreCase); var bInitCols = true; foreach (DataRow dataRow in dt.Rows) { var row = new RowType(); foreach (DataColumn dataColumn in dt.Columns) { var sCol = dataColumn.ColumnName; if (!CheckValid(sCol)) { continue; } var sCell = dataRow[sCol].ToString(); if (regCardNum.IsMatch(sCol)) { //chage to base64 string var sTemp = MyCrypt.Encode(sCell, 0x21); //简单加一加密码 byte[] bytes = Encoding.ASCII.GetBytes(sTemp ?? string.Empty); string sBase64 = Convert.ToBase64String(bytes); sCell = sBase64; } if (bInitCols) { Cols.Add(sCol); } row.Add(sCell); } bInitCols = false; Rows.Add(row); } //没有记录集的话,也要输出列名 if (0 == dt.Rows.Count) { foreach (DataColumn dataColumn in dt.Columns) { var sCol = dataColumn.ColumnName; if (!CheckValid(sCol)) { continue; } Cols.Add(sCol); } } }