1

私はDatagridviewいくつかの列といくつかのデータを持っています。ボタンをクリックすると編集モードに変わり、ユーザーはいくつかの列のデータを変更できます。

Datagridview 自体には行の背景色が交互に表示されますが、編集モードでは編集可能な列は完全に白になります。これを実現するために、次を使用します。

column1.CellTemplate.Style.BackColor = Color.White;

ユーザーが編集を終了すると、行は最初のようになる必要があります。行の背景色を交互に変更して、列を完全にデフォルトに戻す方法を誰かに教えてもらえますか。
いくつかの情報: コードではなくデザイナーで色を設定したので、とにかく背景色を交互に設定する方法さえ知りません.2か月前にC#を始めました.

多分解決策は非常に簡単ですが、私にはわかりません...

4

2 に答える 2

2

解決: Style を変更されていない列のスタイルに設定しました:

Column1.CellTemplate.Style = Column2.CellTemplate.Style;

列 2 は変更されていないため、私の場合はこれで機能します。

于 2012-05-16T07:04:59.643 に答える
0

つまり、基本的には、最初にデザイナーで交互の行を設定します。そして、ボタンをクリックすると編集が可能になり、セルスタイルが変わりますか?さて、このコードによる私の意見では、あなたは別の色を破ります。

DatagridはCellEndEditイベントを提供するので、このイベントに登録し、イベントが発生した後、コードビハインドで代替行スタイルを設定することをお勧めします。このトピックの詳細については、こちらをご覧ください。

他のオプションとしては、EditModeChangedイベントに登録してから、プロパティEditModeに必要な値があるかどうかを確認する場合があります。より多くの選択肢があります。しかし、私は最初のもので行きます。これで問題は解決しますか?

于 2012-05-15T20:09:34.453 に答える