2010-11-18 6 views
0

같은 열에 다른 셀 스타일을 어떻게 할당 할 수 있을지 궁금한가요? 셀 스타일은 콤보 상자 또는 텍스트 상자 일 수 있습니다. 이미지가 업로드되었습니다. 정말 힘들어요?셀 스타일의 WPF DataGrid - 같은 열의 다른 셀 스타일

데이터 표에 표를 표시하고 싶습니다. 첫 번째 열은 테이블 필드의 이름이어야하며 두 번째 열은 열의 값이어야합니다. 이제 첫 번째 열 셀 데이터 형식이 var char이면 두 번째 열 셀에 텍스트 상자가 표시되어야합니다. 첫 번째 열 셀 데이터 형식이 int이면 두 번째 열 셀에 콤보 상자가 표시되어야합니다.

DataGrid Cell Style

감사합니다, N 아바타

alt text

답변

1

당신은 할 수 :

  • 파생 DataGridBoundColumn (또는 그 유도체 중 하나)에서와

    보호 우선 FrameworkElement GenerateElement 오버라이드 (DataGridCell 셀을,있는 DataItem 개체)

방법. 이 메서드는 각 셀에 나타나는 항목을 만듭니다. 매개 변수로 전달 된 dataItem은 행의 항목입니다. 번거 로움은 현재 셀 값을 표시하는 데 사용할 항목을 결정하기 위해 셀에 표시 할 항목을 가져오고 반환 할 UI 컨트롤을 확인하기 위해 binding manually을 수행해야합니다.

  • 템플릿 템플리트를 사용하고 데이터 템플리트를 사용하여 표시 할 ui 요소를 스왑합니다.
+0

감사합니다 아란, 나는이 이론에 총을 내고있다. –

+0

안녕하세요 아란, 나는 노력하고 그것이 효과가있다. 바인딩에 문제가있는 것은 아니지만 엄청난 작업이 아닙니다. 당신의 도움을 주셔서 감사합니다. –

0

이 질문을하면, WPF의 DataGrids를 서로 다른 두 가지 종류가 있다는 것을 명심하십시오. .NET Framework 3.5 SP1을 사용하는 WPFToolkit의 CodePlex에서 릴리스 된 버전입니다. 그리고 새로운 WPF DataGrid는 WP4에서 .NET Framework 4.0을 사용하는 기본 제공 컨트롤로 출시되었습니다.

귀하의 솔루션은 사용하려는 DataGrid에 따라 다를 수 있으며 가능한 경우 다른 DataGrid보다 효과적 일 수 있습니다.

즉, 셀이 편집 모드에있을 때 셀에 콤보 상자를 표시하는 방법을 설명하는 C# Corner에 대한 기사가 있습니다. 이것은 당신을 도울 수 있습니다. 여기에서 시작하면 필요에 맞게이 코드 샘플을 확장 할 수 있습니다. 편집 할 때 콤보 상자 대신 텍스트 상자를 사용해야하는 경우 콤보 상자를 설정하여 새 값을 입력 할 수 있으므로 원하는 항목을 사용할 수 없을 때 텍스트 상자에 값을 입력 할 수 있습니다. 이것이 당신이 원하는 것이라면 확실하지 않지만, 적어도 당신에게 씹을 것을주고 싶었습니다.

행운을 빌어 요,

+0

이미지를 업로드하려고하는데 실패했지만 실패했습니다. 좀 더 구체적으로 내 질문을 편집하겠습니다. –

관련 문제