2017-05-22 12 views
1

超格子の線をセルのクリックとして拡大/縮小する機能があります。私はこのコードを追加した瞬間から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をクリックしてクリックイベントを取得します。 次の2つの方法でこれを克服することができます:あなたは、ユーザーがセルのテキストは、あなたのシナリオのために優れているものは何でも、CellSelectまたはRowSelectにCellClickActionを設定し、編集することができますされていない場合は

  1. エンドユーザーがセルのテキストを編集できるようにする場合は、Infragisticsで使用するTextBoxのClickイベントを処理する必要があります。これを行うには、グリッドのControlAddedイベントを処理します。最初にグリッドのセルが編集モードに入ると、TextBoxコントロールがグリッドのControlsコレクションに追加されます。同じテキストボックスが編集モードのセルに使用されます。

あなたはこのような何かを行うことができます。

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

関連する問題