C#DataGridView使用行和列作为标题

C#DataGridView使用行和列作为标题,c#,database,visual-studio,datagridview,designer,C#,Database,Visual Studio,Datagridview,Designer,我连接到一个数据库。我创建了一个DataViewGrid,它使用来自该数据库的数据绑定。 我想使用行和列作为标题,现在不知何故只有列作为标题。 我正在使用Visual Studio 15,希望使用设计器。 有人这样做过吗?或者知道一个更好的用于创建表的Windows.Form,它连接到数据库,并且在行和列端都有标题 Thx提前第三方网格(如DevExpress-PivotGrid)允许您这样做。据我所知,基本dataGridView无法显示RowHeader。您可以为数据源创建一个自定义列,该列

我连接到一个数据库。我创建了一个DataViewGrid,它使用来自该数据库的数据绑定。 我想使用行和列作为标题,现在不知何故只有列作为标题。 我正在使用Visual Studio 15,希望使用设计器。 有人这样做过吗?或者知道一个更好的用于创建表的Windows.Form,它连接到数据库,并且在行和列端都有标题


Thx提前

第三方网格(如DevExpress-PivotGrid)允许您这样做。据我所知,基本dataGridView无法显示RowHeader。您可以为数据源创建一个自定义列,该列保存行标题信息,并将其显示为第一列。如果您稍微修改第一列的布局,它可能看起来像RowHeader。这是我知道的关于基本dataGridView的唯一技巧。

您的要求不是很清楚,但我想您希望自定义行标题和列标题。dataGridView可能是在Windows窗体中查看数据的最佳控件之一。我将展示如何满足以下典型需求:

  • 以标题或大写字母显示列标题的步骤
  • 自定义特定名称的列标题
  • 在行标题上显示行号
  • 下面的代码是C语言#


    我不知道你想要什么。在RowHeader单元格中显示一些信息(当前显示的是哪些行号?)?您需要为每一行分配它,因为没有自然内容!Nope计划将数据从数据库中取出并显示在表中,但Datagridview只使用列标题,我无法在设计器中添加行作为标题。但我将使用PivotGrid,它似乎很好。我尝试过,它似乎有很多功能,包括行标题和列标题。据我所知,基本dataGridView无法显示行标题。嗯,它可以。见Vectoria的答案。在我看来,为开箱即用的DGV轻松完成的工作推荐如此昂贵的产品是相当奇怪的。这只会添加一列,正确计算行号?它不会添加列,但会编辑现有的RowHeader列。因此,您必须具有dataGridView.rowheadervible=true。
    //Show Columns in Title, Lower(textInfo.ToLowerCase) or Upper case textInfo.ToUpperCase
        System.Globalization.TextInfo textInfo = new System.Globalization.CultureInfo("en-US", false).TextInfo;
        foreach (DataGridViewColumn col in dataGridView.Columns)
        {
            col.HeaderText = textInfo.ToTitleCase(col.HeaderText);
        }
    
    //Customize specific column headers, using name or column index 
        dataGridView.Columns["number"].HeaderText = "No.";
        dataGridView.Columns["quantity"].HeaderText = "Product Quantity";
        dataGridView.Columns[0].HeaderText = "Code";    
    
    //Set Row headers with numbers   
        int rowNumber = 1;
        foreach (DataGridViewRow row in dataGridView.Rows)
        {
            if (row.IsNewRow) continue;
            row.HeaderCell.Value = "Row " + rowNumber;
            rowNumber = rowNumber + 1;
        }
        dataGridView.AutoResizeRowHeadersWidth(
        DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);