C#でのdatagridviewコントロールの使用


C#を使用したインタフェース設計では、グラフ形式の
表示は非常に実用的で有効です.
  • データソースは比較的柔軟であり、一般的にdatabindingコントロールとともに使用することができる.データソースはデータベースからデータを取得したり、ArrayListから取得したりして、excelなどのドキュメント形式で取得してもよい.
  • に表示されるスタイルは多く、調整可能な属性がたくさんあります.たとえば、行ヘッダーが表示されているかどうか、テーブル列名がどのように表示されているかなどです.
  • は動作動作が多く,トリガ可能なイベントが多い.

  • これらはコントロール上で右クリック属性をクリックしても見られるが,多く述べる.
    ここで面白い問題についてお話ししたいと思います.
    表の表示を行うときに、いくつかの行の色を変更したいので、datagridviewでデータバインドを行った後、次の文を使用しました.
    datagridview1.Rows[i].DefaultCellStyle.BackColor = System.Drawing.Color.Gray;

    ある行をグレーにしようとしたのですが、表示されたときには効かなかったので試してみました
    datagridview1.DefaultCellStyle.BackColor = System.Drawing.Color.Gray;

    grid全体をグレーに設定すると、有効になることがわかります.
    なぜdatagridviewコントロールのデータソースを初期化してある行を変色させてはいけないのか、データを初期化して表示スタイルを設定した後、表示形式が自動的にブラシされたのかもしれないと推測しました.
    cellclickイベントを実現し、処理動作はクリックした行を変色させ、単行変色が使いやすく、実行できることを発見した.
    現在、なぜ初期化時に使いにくいのかはまだはっきりしていませんが、私のやり方はDataBindingCompleteイベントに応答して、データバインドが終わった後に表スタイルの設定を行い、結果は予想された効果に達しましたが、これは一時的な代替案であり、根本的な原因ではありません.なぜ初期化時にフォーマットを設定できないのかを見つけるのが根本です.