Question: I am creating an application in which user selects files and provides credentials to open that file. For that I have created three columns in a gridview.  

User enters password in password column.  

I want to display **`*`** in place of characters like we can create a textbox of password type.  

I have tried this code on `GridView_CellClick` event :

```
if (GridView.Columns[e.ColumnIndex].HeaderText == "Password")
{ 
   txtPassword[e.RowIndex] = new TextBox();
   txtPassword[e.RowIndex].Name = "txtPassword"+e.RowIndex;
   txtPassword[e.RowIndex].PasswordChar = '*';
   txtPassword[e.RowIndex].Visible = true;
   txtPassword[e.RowIndex].TextChanged += new      

   if (GridView.CurrentCell.Value == null)
      txtPassword[e.RowIndex].Text = "";
   else
      txtPassword[e.RowIndex].Text = GridView.CurrentCell.Value.ToString();

   txtPassword[e.RowIndex].Location = GridView.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex + 1, false).Location;

   txtPassword[e.RowIndex].Size = GridView.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex + 1, false).Size;

   txtPassword[e.RowIndex].Visible = true;
   txtPassword[e.RowIndex].Focus();
} 

```

But in above solution characters are displayed.  

How can I solve this problem?

Answer: 
I think it should work to handle the EditingControlShowing event and in the handler add the following code:

```
if(e.ColumnIndex == 2)
{
    TextBox tb = e.Control as TextBox;
    if (tb != null)
    {
        tb.PasswordChar = '*';
    }
}

```

CellFormatting Event Handler code:

```
if(e.ColumnIndex = 2)
{
    if(e.Value != null)
    {
        e.Value = New string("*", e.Value.ToString().Length);
    }
}

```

And in this event e should have a ColumnIndex property :)
One solution would be to create your own type of cell and assign that type to your password column. For example you'll add only the standard TextBoxPassword to it and then it should work as you wish.

On the [MSDN](http://msdn.microsoft.com/en-us/library/wc06dx4f.aspx) there is more detailed description with source code available.

You'll just have to create your won kind of [CellTemplate](http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcolumn.celltemplate.aspx).