У меня есть DataGridView в моей форме, который не отображается при запуске моей формы. Почему?

#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 непосредственно под формой на вкладке Структура документа, это исправило это. Спасибо всем вам, кто помог.