если еще на сетке данных asp.net заполняется источником данных - PullRequest
2 голосов
/ 25 мая 2011

Привет У меня есть сетка в asp.net C # с данными, заполненными из источника данных, теперь у сетки есть несколько столбцов, есть столбец, который имеет значения в 1, 2 или 3, исходя из дБ, я хочу, если это 1, то он должен отображать FSL вместо 1, если это 2, то BTD и т. д., как можно Я применяю чеки из C # или в ASP, пожалуйста, помогите.

Ответы [ 3 ]

2 голосов
/ 25 мая 2011

Создайте столбец Template и вставьте метку:

<asp:TemplateField HeaderText="HeaderText">
  <ItemTemplate>
     <asp:Label ID="lbl" runat="server" ></asp:Label>
  </ItemTemplate>

И затем вы получите его в событии RowDataBound Gridview:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        DataRow dr = ((DataRowView)e.Row.DataItem).Row;
        if(dr["ColumnName"].ToString() == "1" )
        {
          ((Label)e.Row.FindControl("lbl")).Text = "FSL";
        }
        else if(dr["ColumnName"].ToString() == "2" )
        {
          ((Label)e.Row.FindControl("lbl")).Text = "BTD";
        }
    }
}
1 голос
/ 25 мая 2011

Вы также можете воспользоваться следующими способами

<asp:TemplateField HeaderText="HeaderText">
  <ItemTemplate>
     <asp:Label ID="Lbl" runat="server" Text='<%# Convert.ToString(Eval("MyValue"))== "1" ? "FSL" : Convert.ToString(Eval("MyValue")) == "2" ? "BTD" : "Unknown"  %>'></asp:Label>
  </ItemTemplate>
</asp:TemplateField>

Надеюсь, это поможет вам

1 голос
/ 25 мая 2011

Если вы хотите получить его из запроса, вы можете сделать (для сервера SQL)

 SELECT   MyValue = CASE 
             WHEN Col = 1 THEN 'FSL'
              WHEN Col = 2 THEN 'BTD'
             ELSE 'Unknown'
            END
    FROM MyTable 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...