76

当数据不可用时,有什么方法可以删除或隐藏 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;

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

在此处输入图像描述

4

7 回答 7

181

要隐藏第一列,您可以将RowHeadersVisibledataGrid 设置为 false

于 2013-03-27T07:06:56.397 回答
15

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

dataGridView1.BackgroundColor = Color.White;
dataGridView1.RowHeadersVisible = false;
于 2013-03-27T07:02:54.283 回答
7

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

于 2013-03-27T07:06:04.190 回答
3

放上这段代码就行了。为我工作。

DataGrid.RowHeadersVisible = false;
DataGrid.ColumnHeadersVisible = false;
于 2016-11-24T17:13:13.470 回答
1

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

  1. 添加这一行:

    dataGridView1.RowHeadersVisible = false;
    

    至...

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

    -或者-

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

在此处输入图像描述

于 2019-06-03T05:41:58.287 回答
0

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

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;
于 2016-09-12T11:49:47.160 回答
-1

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

  <Style TargetType="DataGrid">
 <Setter Property="RowHeaderWidth" Value="0"/>
   </Style>
于 2020-12-20T08:46:37.523 回答