3

devexpress winforms グリッドの背景色を設定したい。

これは私が呼び出すメソッドです。

フォームロード時..

LoadCodes(); - gridView の rowstyle メソッドで使用されるデータセットを返します。

gridView1.RefreshData();

private void gridView1_RowStyle(object sender, RowStyleEventArgs e)
{
  string code=string.Empty;
  for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
  {
    code = View.GetRowCellDisplayText(e.RowHandle, View.Columns["code"]);
    if (code.Trim() == ds.Tables[0].Rows[i]["code"].ToString().Trim())
    {
        e.Appearance.BackColor = Color.LightBlue;
        e.Appearance.BackColor2 = Color.WhiteSmoke;
    }
  }

}

これをどのように処理しますか、またはこれを処理する他の方法はありますか?

問題: コードはエラーをスローしませんが、フォームがロードされた後、行が自動的に背景色を取得することはありませんが、グリッドの任意の行をクリックすると (フォームがロードされた後、グリッド データは目に見える)、その後、背景色が表示されます。

4

2 に答える 2

1

基本的に、以下のように GridView のデフォルトの色を設定する必要があります。

gridView.Appearance.Row.BackColor = Color.Black;
gridView.Appearance.Row.BorderColor = Color.Black;
gridView.Appearance.Row.ForeColor = Color.White;

上記では、Row の外観を設定してから、SelectedRow、FocusedRow、FocusedCell、および GroupRow に対して同じことを行います。これにより、すべての行の背景が黒、前景が白になります。

特定のセルの既定の色をオーバーライドする場合は、RowCellStyle イベントをオーバーライドします ( https://documentation.devexpress.com/#WindowsForms/DevExpressXtraGridViewsGridGridView_RowCellStyletopic )。

于 2015-09-02T15:37:51.390 に答える
1

どの Appearance プロパティを有効にするかを DevExpress に伝える必要があります。e.Appearance.Options

あなたの場合e.Appearance.Options.UseBackColor = true

詳細については、http: //documentation.devexpress.com/#windowsforms/DevExpressUtilsAppearanceOptionsMembersTopicAllを参照してください。

注: スタイルを定義した場合、EvenRowまたはOddRow設定する必要がある場合e.HighPriority(参照: http://documentation.devexpress.com/#windowsforms/DevExpressXtraGridViewsGridRowStyleEventArgs_HighPrioritytopic )

于 2013-09-25T23:22:05.663 に答える