SourceGrid.DataGrid用于数据表的编辑的确很方便,可惜对于密码列的处理没有提供直接的方式,只能自己创建一个CellView来处理。
对于密码列,在显示状态下需要全部显示成6个*号,在编辑状态下需要安装密码的具体长度显示*号,具体实现代码如下:
SourceGrid.Cells.Editors.TextBox passEditor = new SourceGrid.Cells.Editors.TextBox(typeof(String)); passEditor.Control.PasswordChar = '*';
CellViewPassword passView = new CellViewPassword(); passView.BackColor = Color.White;
SourceGrid.DataGridColumn gridColumn; gridColumn = grid1.Columns.Add('Password', '密码', typeof(String)); gridColumn.DataCell.Editor = passEditor ; gridColumn.DataCell.View = passView ;
|
CellViewPassword代码 |
/// <summary> /// Description of CellViewPassword. /// </summary> public class CellViewPassword: SourceGrid.Cells.Views.Cell { /// <summary> /// 密码显示为 * /// </summary> /// <param name="context"></param> protected override void PrepareVisualElementText(SourceGrid.CellContext context) { base.PrepareVisualElementText(context); ElementText.Value = "******"; }
}
|