5

私のGridViewには、A、B、Cの3つのバインドされた列があります。3つの列の最大値を太字で表示したいと思います。比較を行い、フォントを太字に設定するにはどうすればよいですか(できればaspxファイルで)?ありがとう。

<Columns>                
<asp:BoundField DataField="A" HeaderText="A" SortExpression="A" />                
<asp:BoundField DataField="B" HeaderText="B" SortExpression="B" />
<asp:BoundField DataField="C" HeaderText="C" SortExpression="C" />
</Columns>

明確にするために:列A、B、およびCのNUMERIC値は、行によっては最大になる可能性があります。これは私が太字に設定したい値です。

例:

3   **4**    1
**6**   2    0
**9**   1    2
4

3 に答える 3

10

この方法を試してください:

   protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        for (int j = 0; j < e.Row.Cells.Count; j++)
        {
            e.Row.Cells[j].Style.Add("BORDER-BOTTOM", "#aaccee 1px solid");
            e.Row.Cells[j].Style.Add("BORDER-RIGHT", "#aaccee 1px solid");
            e.Row.Cells[j].Style.Add("padding-left", "5px");
        }
    }
于 2012-04-10T17:41:50.197 に答える
6

この種のことには、コードビハインドが必要です。RowDataBoundこの目的で使用します。

protected void Grid_RowDataBound(Object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        int number;
        var highestCells = e.Row.Cells.Cast<TableCell>()
            .Where(tc => int.TryParse(tc.Text, out number))
            .OrderByDescending(c => int.Parse(c.Text));
        foreach(var cell in highestCells)
            cell.Font.Bold = true;
    }
}
于 2012-04-10T17:52:45.810 に答える
4

グリッドビューのrowdataboundメソッドでそれを行うことができます。理想的な方法は、DB自体から3列の最大値を取得し、rawdataboundの値を確認することです。このURLは、簡単な紹介を提供するのに役立ちます。これと同様に、条件を追加し、その列の対応するフォントスタイルを太字 のhttp://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowdatabound.aspx に設定できます。この行を書いて太字にすることができます e.Row.Cells[2].Font.Bold = true;

于 2012-04-10T17:44:11.953 に答える