5

セルの値に応じて、radgrid のセルをフォーマット (背景色、前色、フォント スタイル) する必要があります。

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

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

4

3 に答える 3

8
 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;
            }
        }
    }
于 2011-06-20T20:55:18.403 に答える
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;
        }
    }
}
于 2009-08-28T15:15:15.467 に答える
2

以下のコードは、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;
            }

        }

    }
于 2016-07-15T06:29:32.420 に答える