【问题标题】:Hiding default gray column in datagridview winform在datagridview winform中隐藏默认的灰色列
【发布时间】:2013-03-27 06:55:49
【问题描述】:

当数据不可用时,有什么办法可以去除或隐藏winform的datagrid灰色区域?

其次如何移除/隐藏默认的灰色列?

  dataGridView1.DataSource = oresult;
  dataGridView1.Columns["Id"].Visible  = false;
  dataGridView1.Columns["AddedBy"].Visible = false;
  dataGridView1.Columns["AddmissionInClass"].Visible = false;
  dataGridView1.Columns["IsDeleted"].Visible = false;
  dataGridView1.Enabled = false;

我正在隐藏这样无用的列,但无法找到隐藏这些的方法。

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    要隐藏第一列,您可以将 RowHeadersVisible 设置为您的 dataGrid 的 false

    【讨论】:

      【解决方案2】:

      只需设置 DataGridView 的 Background-Color 和 RowHeadersVisible-State:

      dataGridView1.BackgroundColor = Color.White;
      dataGridView1.RowHeadersVisible = false;
      

      【讨论】:

        【解决方案3】:

        您需要将 RowHeaderVisible 的属性(来自 gridview 属性)设置为 false

        【讨论】:

          【解决方案4】:

          只要放上这段代码。为我工作。

          DataGrid.RowHeadersVisible = false;
          DataGrid.ColumnHeadersVisible = false;
          

          【讨论】:

            【解决方案5】:

            您有两种方法可以做到这一点:

            1. 添加这一行:

              dataGridView1.RowHeadersVisible = false;
              

              到...

              private void Form1_Load(object sender, EventArgs e)
              {
                  dataGridView1.RowHeadersVisible = false;
              }
              

              -或-

            2. 从(项目的属性)窗口将 True 更改为 false,如下所示:

            【讨论】:

              【解决方案6】:

              如果您尝试在列级别删除网格视图列并且它没有反映在网格视图中,请按照以下说明操作: 我们不能在列级别删除网格视图的列。 因此,在行级别删除列的单元格(意味着在每一行中)。

              foreach (GridViewRow Row in this.searchResults.SearchResultGrid.Rows)
                                  {
                                      if (Row.RowType == DataControlRowType.DataRow)
                                      {
                                          Row.Cells[0].Visible = false;
                                      }
                                  }
                                  GridViewRow HeaderRow = this.searchResults.SearchResultGrid.HeaderRow;
                                  HeaderRow.Cells[0].Visible = false;
              

              【讨论】:

                【解决方案7】:

                虽然几年过去了,但我现在已经达到了…… 我不得不在所有项目的所有 DataGrids 中更改它。 我在 aApp.XAML 中做这个

                  <Style TargetType="DataGrid">
                 <Setter Property="RowHeaderWidth" Value="0"/>
                   </Style>
                

                【讨论】:

                • 问题是关于 WinForms,而不是 WPF
                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2021-06-30
                • 1970-01-01
                • 2012-05-30
                • 1970-01-01
                • 2021-12-01
                • 1970-01-01
                • 2015-12-08
                相关资源
                最近更新 更多