2010-07-07 5 views
1

datagridview 데이터 소스에 데이터 테이블을 바인딩했습니다. 이제 문제는 내 datagridview의 열을 사용자 정의 할 수 없다는 것입니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까? 열이 데이터 소스에서 동적으로 생성 된 것 같습니다. 글꼴, 색상 열 ​​이름 등에 대한 사용자 정의가 필요합니다 ... 어떤 생각입니까?datagridview 데이터 소스를 데이터 테이블에 바인딩

답변

3

C# (?)에서이 작업을 수행하는 경우 false이라는 datagridview 속성을 false으로 설정하고 동적으로 추가 할 수 있습니다. 이렇게하면 사용자 정의 할 수 있습니다.

datagridview 열에는 표시 할 데이터 테이블의 열 이름으로 설정 한 DataPropertyName이 있습니다. 예를 들어

:

// Create new combo box column. 
DataGridViewComboBoxColumn column = new DataGridViewComboBoxColumn(); 

// Set properties. 
column.DataPropertyName = colName; 
column.Name = colName; 
column.HeaderText = colName; 
column.DropDownWidth = 160; 
column.Width = 90; 
column.MaxDropDownItems = 5; 
column.FlatStyle = FlatStyle.Standard; 

datagridview.Columns.Add(column); 

그런 다음 그냥은 데이터 테이블에 바인딩합니다.

+0

AutoGenerateColumns를 false로 설정 한 후 어떻게 열을 연결합니까? – gd2

+0

이 대답이 유용 할 경우 투표에 답을 표시 할 수 있습니까? 감사합니다 – w69rdy

+0

안녕하세요 - 감사합니다. 내가 이해하지 못하는 부분은 동적 데이터 테이블에 정의 된 열을 바인딩하는 방법입니다. 바인딩을위한 코드 샘플을 제공 할 수 있습니까? thanks greg – gd2

1

열을 자동으로 생성하고 사용자 지정할 수 있어야합니다.

예를 들어, 컬럼의 글꼴을 변경하려면 당신은 할 수 : I는 자동으로이 두 가지를 시도했습니다

dataGridView.Columns["ColumnName"].HeaderCell.Style.BackColor = Color.Blue; 

:

dataGridView.Columns["ColumnName"].DefaultCellStyle.Font = new Font("Tahoma, 15); 

는 열 이름의 색상을 변경하려면 DataTable에 바인딩 된 생성 된 DataGridView는 나를 위해 작동합니다.

0

대신 주석을 사용하십시오. 예 :

internal class FailedItem 
{ 
    ... 
    [DisplayName("Clarify reason")] 
    public string Reason 
    { get; private set; } 
    ... 
} 
관련 문제