#c# #winforms #datagridview
#c# #winforms #datagridview
Вопрос:
У меня есть DataGridView с именем statGrid на панели с именем panel10. Когда я запускаю программу, я использую этот код для заполнения и перехода к этому DataGridView:
PubVars.active = true;
lblPanelTitle.Text = "Folder Status";
using (SqlConnection connect = new SqlConnection(PubVars.connStr))
{
string query = "SELECT viewfldr, status FROM Folders WHERE username = '" PubVars.usrName "'";
DataTable dt = new DataTable();
using (SqlDataAdapter da = new SqlDataAdapter(query, connect))
{
connect.Open();
da.Fill(dt);
connect.Close();
}
DataGridViewCellStyle style = new DataGridViewCellStyle();
style.Font = new Font(this.Font, FontStyle.Bold);
try
{
statGrid.DataSource = dt;
statGrid.Columns[0].HeaderCell.Style = style;
statGrid.Columns[1].HeaderCell.Style = style;
statGrid.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
statGrid.Columns[0].Width = 400;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString());
return;
}
}
panel1.Visible = false;
panel2.Visible = false;
panel3.Visible = false;
panel4.Visible = false;
panel5.Visible = false;
panel6.Visible = false;
panel7.Visible = false;
panel8.Visible = false;
panel9.Visible = false;
panel10.Visible = true;
statGrid.Focus();
Когда я запускаю форму и код, я попадаю на панель, но DataGridView не отображается. Кто-нибудь, пожалуйста, может сказать мне, почему это происходит?
Спасибо.
Комментарии:
1. Здесь нет ничего плохого. Вы должны проверить видимость родительских контейнеров (если таковые имеются) или datagridview. Также может быть что-то связанное с свойствами стыковки или привязки
Ответ №1:
Я думаю, вы пропустили вызов метода Bind() попробуйте это statGrid.Bind()
Ответ №2:
Я нашел свой ответ. Родительским элементом panel10 не была форма. это была панель 9. Когда я переместил panel10 непосредственно под формой на вкладке Структура документа, это исправило это. Спасибо всем вам, кто помог.