I was experimenting with properties of a datagridview and tried this.
dgvdataGridView.ColumnCount = 6;
The problem I had was the datagridview did have six columns but when the grid appeared on on the C# winform the first six columns were blank on all rows and the next 6 columns repeated with the same correct column headings with all the data. Why does it behave this way?
I am correct in starting with
dgvdataGridView.ReadOnly = false;
dgvdataGridView.RowHeadersVisible = false;
dgvdataGridView.AutoGenerateColumns = false;
dgvdataGridView.DefaultCellStyle.NullValue = ' ';
dgvdataGridView.DataSource = _ds.Tables["TableName"].DefaultView;
I tried something like this but it fails miserably:
dgvdataGridView.Columns.Add(new DataGridViewTextBoxColumn { Name = "User ID", AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill });
dgvdataGridView.Columns.Add(new DataGridViewTextBoxColumn { Name = "Password", AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill });
dgvdataGridView.Columns.Add(new DataGridViewTextBoxColumn { Name = "Last Changed Date", AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill });
dgvdataGridView.Columns.Add(new DataGridViewTextBoxColumn { Name = "Changed By", AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill });
dgvdataGridView.Columns.Add(new DataGridViewCheckBoxColumn { Name = "Admin", AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill });
dgvdataGridView.Columns.Add(new DataGridViewTextBoxColumn { Name = "User Name", AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill });
In this case I am also try to convert Admin, which is defined as int in the database to a boolean and hence a checkbox.
Does it matter whether
dgvdataGridView.DataSource = _ds.Tables["TableName"].DefaultView;
is positioned before or after adding the columns? I tried it both ways and neither worked. What is the correct code to get the datagridview to build properly?