2009-08-25 11 views
5

セルの値に応じてradgridのセルをフォーマットする必要があります(バックカラー、フォアカラー、フォントスタイル)。radgridセルをプログラムでフォーマットする方法

たとえば、 値が負の場合は、そのセルの前景色を赤に設定します。

これはどのように達成できますか教えてください。

答えて

4

あなたのaspxページのradGrid宣言にonItemDataBound = "Data_OnitemDataBound"という行を追加してください。

これをコードに追加します。 Cells []内の数字は、変更または検証したい列のインデックスです。コードの下

protected void Data_OnItemDataBound(object sender, GridItemEventArgs e) 
{ 
    if (e.Item is GridDataItem) 
    { 
     GridDataItem item = (GridDataItem)e.Item; 
     if (Convert.ToDecimal(item.Cells[3].Text) < 0) 
     { 
      item.Cells[3].ForeColor = System.Drawing.Color.Red; 
     } 
    } 
} 
7
protected void grdName_ItemDataBound(object sender, GridItemEventArgs e) 
    { 
     if (e.Item is GridDataItem) 
     { 
      GridDataItem item = (GridDataItem)e.Item; 
      if (Convert.ToInt32(((DataRowView)item.DataItem)["Column"]) < value) 
      { 
       TableCell cell = item["Column"]; 
       cell.BackColor = Color.PeachPuff; 
      } 
     } 
    } 
+0

誰かが私を下ろした理由がわからない、私の答えは他のものとは異なるので、私はそれを追加すべきだと思った。 –

+0

おそらく彼らはPeachPuffが好きではなかったでしょう – JohnnyBizzle

1

RadGrid内のすべてのセルのために使用することができます。

protected void RadGrid_ItemDataBound(object sender, GridItemEventArgs e) 
    { 
     foreach (GridDataItem dataItem in RadGridProduct.MasterTableView.Items) 
     { 
      int cellCount = dataItem.Cells.Count; 

      foreach (GridTableCell item in dataItem.Cells) 
      { 
       if (item.Text == null ||Convert.ToInt32(item.Text) < 0) 
        item.BackColor = System.Drawing.Color.Brown; 
      } 

     } 

    } 
関連する問題