编辑时禁用XtraGrid密码列

时间:2014-06-08 09:57:16

标签: c# winforms devexpress xtragrid

我有一个带有隐藏密码列的网格,使用RepositoryItemTextEdit.PasswordChar property创建。我希望在编辑此列时看到纯文本,并在离开编辑器时返回星号。

如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

创建两个文本编辑,并将具有密码char的编辑设置为列:

plainTextPasswordTextEdit = new RepositoryItemTextEdit();
hiddenPasswordTextEdit = new RepositoryItemTextEdit()
{
  PasswordChar = '*'
};

passwordColumn.ColumnEdit = hiddenPasswordTextEdit;

注册到GridView.CustomRowCellEditForEditing event,并替换列编辑:

private void CustomRowCellEditForEditing(object sender, CustomRowCellEditEventArgs e)
{
  if (e.Column == passwordColumn)
  {
    e.RepositoryItem = plainTextPasswordTextEdit;
  }
}

只有编辑过的行会显示其密码,并在离开编辑器后再次隐藏。