Как связать элемент в виде сетки - PullRequest
0 голосов
/ 16 июня 2011

Это вопрос из двух частей: я работаю с набором данных и представлением таблицы.набор данных заполняется путем запроса базы данных, после чего некоторые вычисления выполняются и добавляются в набор данных.как только все расчеты будут выполнены, набор данных будет привязан к сетке.что выглядит следующим образом.

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        CellPadding="4" ForeColor="#333333" GridLines="None" Width="100%"  CssClass="tableText" >
        <AlternatingRowStyle BackColor="White" />
        <EditRowStyle BackColor="#2461BF" />
        <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
        <RowStyle BackColor="#EFF3FB" HorizontalAlign="Center" />
        <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
        <SortedAscendingCellStyle BackColor="#F5F7FB" />
        <SortedAscendingHeaderStyle BackColor="#6D95E1" />
        <SortedDescendingCellStyle BackColor="#E9EBEF" />
        <SortedDescendingHeaderStyle BackColor="#4870BE" />
        <Columns>
        <asp:BoundField DataField="INV_GP" HeaderText="INV GP" />
        <asp:BoundField DataField="SORG_GP" HeaderText="SORD GP" />
        <asp:BoundField DataField="SRTN_GP" HeaderText="SRTN GP" />
        <asp:BoundField DataField="EXPEND" HeaderText="EXPEND" />
        <asp:BoundField DataField="TARGET" HeaderText="TARGET" />
        <asp:BoundField DataField="PERC_OF_TARGET" HeaderText="%" />
        <asp:BoundField DataField="M_PERC" HeaderText="M%" />
        <asp:BoundField DataField="100NEED" HeaderText="NEED FOR 100%" />
        </Columns>
    </asp:GridView>

Вот что я хочу сделать:

  1. Как вы можете видеть, столбцы имеют значения%, но данныенабор просто имеет номер.Как отобразить% рядом с числом в виде сетки?

  2. Я хочу иметь возможность добавить какое-то условное выражение, чтобы отображать текст разными цветами.Например, в%, если любое из значений меньше 50%, я хочу, чтобы текст отображался красным цветом.

Ответы [ 3 ]

3 голосов
/ 16 июня 2011

Используйте TemplateField вместо BoundField и назначьте класс для содержимого, чтобы определить цвет.

CSS

<style type="text/css">
.MoreThanFifty { color: green; }
.FiftyOrLess { color: red; }
</style>

ASP.NET

<asp:TemplateField HeaderText="M%">
  <ItemTemplate>
    <span class='<%# int.Parse(Eval("M_PERC").ToString()) > 50 ? "MoreThanFifty" : "FiftyOrLess"  %>'>
      <%# Eval("M_PERC") %> %
    </span>
  </ItemTemplate>
</asp:TemplateField>
1 голос
/ 16 июня 2011

Чтобы отформатировать ваши числа в процентах, взгляните на BoundField.DataFormatString.Например:

<asp:BoundField DataField="PERC_OF_TARGET" 
                HeaderText="%" 
                DataFormatString="{0:F0}%" />

Приведенная выше строка формата будет форматировать число с нулевыми десятичными знаками. Если вам нужны десятичные знаки, используйте {0:F2}%, который добавит два десятичных знака.

0 голосов
/ 16 июня 2011

1) Проверьте "поле шаблона" http://www.asp.net/data-access/tutorials/using-templatefields-in-the-gridview-control-cs

2) Смотрите выше!РЕДАКТИРОВАТЬ: Вот подробный пример, как этого добиться с помощью поля шаблона: Как реализовать условное форматирование в GridView

Наслаждайтесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...