2

私のグリッドビューは、SQL から読み取ったデータテーブルから動的に生成されます。今、特定の列、たとえば「給与」を赤い背景色に設定したいと考えています。SOで多くの解決策を探しましたが、まだ手がかりがありません。

CmdString = @"  select id, firstname, lastname, title, level, salary from emplpyees";
            SqlCommand cmd = new SqlCommand(CmdString, con);
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            dt = new DataTable("employee");
            sda.Fill(dt);
            datagridall.ItemsSource = dt.DefaultView;
4

3 に答える 3

2

以下のコードを試してください:

gvUserInfo.Columns[0].ItemStyle.BackColor = System.Drawing.Color.Red;

BindGrid 関数の後に同じコードを入れますgvUserInfo.DataBind();

楽しみ..

于 2013-07-26T12:19:22.200 に答える
1

コンバータークラスを作成できます

public class ErrorConverters : IValueConverter
  {
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
      SolidColorBrush myBrush = default(SolidColorBrush);

      if ((bool)value == true)
      {
        myBrush = new SolidColorBrush(Colors.Red);
      }
      else
      {
        myBrush = new SolidColorBrush(Colors.Black);
      }

      return myBrush;
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
      //Throw New NotImplementedException()
      return null;
    }
  }

次に、行テンプレートを使用して、コンバーターに渡されるデータベース内のアイテムに背景色をバインドします。

于 2013-07-25T22:15:30.607 に答える
0

この規範に従ってください:

protected void gvBandA_RowDataBound(object sender, GridViewRowEventArgs e)
    {
     //   e.Row.Cells[1].ForeColor = System.Drawing.Color.Red;
        gvBandA.Columns[1].ItemStyle.BackColor = System.Drawing.Color.Yellow;
        gvBandA.Columns[1].ItemStyle.ForeColor = System.Drawing.Color.Fuchsia;
    }
于 2014-07-17T10:02:28.213 に答える