Search code examples
c#datagridviewpassword-protection

How to Password Char a Column in DataGridView


I am trying to password char a column when loading in a table.

Code below loads the table.

//Fills out Student table
private void loadStudentTable()
{
    SqlConnection conn2 = new SqlConnection(@"Data Source=(LocalDB)\v11.0; AttachDbFilename=C:\Users\Donald\Documents\Visual Studio 2013\Projects\DesktopApplication\DesktopApplication\Student_CB.mdf ;Integrated Security=True");
    conn2.Open();

    try
    {
        SqlCommand cmdDatabase2 = new SqlCommand("Select * from Student", conn2);
        SqlDataAdapter sda2 = new SqlDataAdapter();
        sda2.SelectCommand = cmdDatabase2;
        DataTable dbdataset2 = new DataTable();
        sda2.Fill(dbdataset2);
        BindingSource bSource2 = new BindingSource();
        bSource2.DataSource = dbdataset2;
        studentGridView.DataSource = bSource2;
        sda2.Update(dbdataset2);
        studentGridView.Columns[0].Width = 92;
        studentGridView.Columns[1].Width = 200;
        studentGridView.Columns[2].Width = 180;
        studentGridView.Columns[3].Width = 180;
        studentGridView.Columns[4].Width = 170;
        studentGridView.Columns[5].Width = 170;
        studentGridView.Columns[6].Width = 130;                        
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }

    conn2.Close();
}

I am trying to password char the studentGridView.Columns[5].Width = 170; column.

Any help or ideas?


Solution

  • You need the CellFormatting event of your DataGridView like this

    private void studentGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
        if (gv_Input.Columns[e.ColumnIndex].Index == 5 && e.Value != null)
        {
            studentGridView.Rows[e.RowIndex].Tag = e.Value;
            e.Value = new String('*', e.Value.ToString().Length);
        }
    }