2016-10-27 2 views
-1

데이터베이스에 연결되었습니다. 해당 데이터베이스의 Databinding을 사용하는 DataViewGrid를 만들었습니다. 행과 열을 머리글로 사용하고 싶습니다. 지금은 머리글로 열만 있습니다. Visual Studio 15를 사용하고 있는데 디자이너를 사용하고 싶습니다. 누구도 그렇게 한 적이 있습니까? 또는 테이블에 대한 더 나은 Windows.Form을 알고 데이터베이스에 연결되어 있고 행과 열 측면에 헤더가 있습니까? 사전에C# DataGridView는 행과 열을 머리글로 사용합니다.

들으

+0

나는 네가 원하는 것을 전혀 모른다. RowHeader 셀에 몇 가지 정보 (현재 행 번호가 표시되어 있습니까?)를 표시 하시겠습니까? 자연스러운 내용이 없으므로 각 행에 할당해야합니다! – TaW

+0

Nope 계획은 데이터베이스에서 데이터를 가져 와서 테이블에 표시하지만 Datagridview는 열 헤더를 사용하기 때문에 디자이너에서 행을 헤더로 추가 할 수 없습니다. 하지만 피벗 그리드를 사용할 것입니다. 그게 좋은 것 같습니다. – Montezuma

답변

0

타사 그리드 DevExpress의 PivotGrid 등이 STH하기 위해 할 수 있습니다. 이렇게. 기본 dataGridView 내가 아는 한 RowHeader를 제시 할 수 없습니다. RowHeader 정보를 보유하고 첫 번째 열로 표시하는 DataSource에 대한 사용자 지정 열을 만들 수 있습니다. 첫 번째 열 레이아웃을 수정하면 RowHeader처럼 보일 것입니다. 기본 데이터 그리드 뷰로 알고있는 유일한 트릭이 될 것입니다.

+0

Thx,이 도구를 사용해 보았습니다. 많은 기능이있는 것처럼 보였습니다. 행과 열 머리글이 있습니다. – Montezuma

+0

_ 기본 DataGridView는 아는 한 RowHeader를 표시 할 수 없습니다. _ 할 수 있습니다. Vectoria의 대답을보십시오. 상자 밖의 DGV에서 쉽게 할 수있는 그런 비싼 제품을 추천하는 것은 다소 이상합니다. – TaW

2

요구 사항은 명확하지 않지만 행과 열 헤더를 사용자 정의하고 싶습니다. dataGridView는 아마도 Windows Forms에서 데이터를 볼 수있는 최상의 컨트롤 중 하나입니다. 다음과 같은 일반적인 요구 사항을 수행하는 방법을 보여 드리겠습니다.

  1. 는 제목 케이스 또는 UPPER 케이스
  2. 열이 아래

코드가 C 번호에 특정 이름을 행 머리글에

  • 표시 행 번호를 헤더 정의에 열 헤더를 표시하려면

    //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); 
    

    Reference

  • +0

    이것은 단지 행 번호를 계산하는 열을 추가 할 것입니까? – Montezuma

    +0

    열을 추가하지 않지만 기존 RowHeader 열을 편집합니다. 따라서 dataGridView.RowHeaderVisible = true를 가져야합니다. – Vectoria