2017-05-22 11 views
1

ultragrid의 선을 확대/축소하고 셀 클릭으로 취소하는 기능이 있습니다. 이 코드를 추가 순간부터UltraGrid 이벤트 ClickCell은 스타일을 변경할 때 비활성화됩니다.

columnUltraGrid.CellMultiLine = Infragistics.Win.DefaultableBoolean.True; 
columnUltraGrid.Layout.Override.RowSizing = RowSizing.AutoFree; 
columnUltraGrid.Layout.Override.RowSizingAutoMaxLines = 4; 
columnUltraGrid.Layout.Bands[0].AutoPreviewEnabled = true; 

: 나는 다음과 같은 코드를 사용하고 문제

columnUltraGrid.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText; 
columnUltraGrid.CellDisplayStyle = Infragistics.Win.UltraWinGrid.CellDisplayStyle.FormattedText; 

세포가 ClickCell 이벤트를 호출 중지합니다. 문제의 셀이 clickcell 이벤트를 호출하는 것을 멈추고, 텍스트에 포함 된 HTML 서식을 제거하려면이 명령을 사용해야합니다. 다른 방법을 찾지 못했습니다. 그렇지 않으면 누군가 텍스트를 서식 지정하거나 이벤트 호출을 사용 가능하게 설정할 수있는 경우 감사합니다. . < '스팬 스타일 ='글꼴 - 무게 : 셀의 내용은 HTML과 같은 대담한; '> 안녕하세요

답변

1

나는 당신의 문제는 어느 쪽도에, 컬럼의 스타일에 관련되지 않은 생각하지 않는다 셀의 스타일. 처음 셀을 클릭하면 기본적으로 편집 모드로 들어갑니다. 현재 TextBox가 셀 위에 그려져있어 최종 사용자가 셀의 데이터를 편집 할 수 있습니다. 셀을 다시 클릭하면 실제로이 TextBox를 클릭하고 클릭 이벤트를 먹습니다. 다음 두 가지 방법으로이를 극복 할 수

  1. 당신이 셀 텍스트가 시나리오에 대한 더 나은 무엇이든 CellSelect 또는 RowSelect에 CellClickAction를 설정 편집 할 사용자를 허용하지 않는 경우;
  2. 최종 사용자가 셀의 텍스트를 편집 할 수있게하려면 Infragistics에서 TextBox의 Click 이벤트를 처리해야합니다. 이렇게하려면 표의 ControlAdded 이벤트를 처리하십시오. 모눈의 셀이 편집 모드로 들어가면 TextBox 컨트롤이 모눈의 Controls 컬렉션에 추가됩니다. 그런 다음 동일한 TextBox가 편집 모드의 셀에 사용됩니다.

당신은 같은 것을 할 수 있습니다

private void UltraGrid1_ControlAdded(System.Object sender, System.Windows.Forms.ControlEventArgs e) 
{ 
    e.Control.Click += UltraGrid1_Editor_Click; 
} 

어떤 이유로, 텍스트 상자 그리드에서 제거 될 때, 오프에 가입하는 것을 잊지 마세요 : 잘

private void UltraGrid1_ControlRemoved(System.Object sender, System.Windows.Forms.ControlEventArgs e) 
{ 
    e.Control.Click -= UltraGrid1_Editor_Click; 
} 
+0

첫 번째 옵션 작업 나를 위해! 왜 셀이 모두 흰색이되고 선택을 제거해도 아무 것도 변경되지 않는지 궁금합니다. 당신이 언급 한 텍스트 상자였습니까. 고마워요 :) –

+0

무엇이 이것을 일으킬 수 있습니다. 외모가 적용되어 있습니까? SelectedCellAppearance ForeColor와 BackColor를 모두 흰색으로 설정하면 보이는 텍스트가 없어집니다. – wnvko