ASP.NET GridView связать два поля в один столбец - PullRequest
5 голосов
/ 30 ноября 2011

В моем веб-приложении есть ASP.NET GridView, и я хотел бы связать два поля в один столбец и использовать форматирование строки. Ниже приведен пример, возможно ли реализовать его в GridView?

У меня есть два поля данных Name и DefaultParam, и я хотел бы отобразить эти поля в одном столбце GridView.

Как это

Name=DefaultParam

Если значение DefaultParam пусто, я хотел бы показать только значение Name и не включать =

Я использовал Repeater и приведенный ниже код для достижения этой цели, но теперь решил переместить отображение данных в GridView

<%#Eval("Name")%>
<%# (!string.IsNullOrEmpty(Eval("DefaultParam").ToString())) ? "= " + Eval("DefaultParam"):"" %>

Ответы [ 2 ]

4 голосов
/ 30 ноября 2011

Вы можете использовать TemplateField и поместить туда свою логику:

<asp:TemplateField HeaderText="Header">
<ItemTemplate>
<%#Eval("Name") + (!string.IsNullOrEmpty(Eval("DefaultParam").ToString())) ? "= " + Eval("DefaultParam"):""%>
</ItemTemplate>
</asp:TemplateField>

Другим вариантом будет использование свойства вашего объекта, чтобы сделать эту логику для вас за кулисами, и просто использовать ее как BoundField, но вы не упомянули, какой объект является вашей привязкой.

0 голосов
/ 30 ноября 2011

Вы можете просто написать код на стороне сервера между <%# ... %>, как вы пишете в коде позади.просто поместите его в '' (между одинарными кавычками).

<asp:Lable id="lblxx" runat="server" 
Text='<%# Eval("Name") + (!string.IsNullOrEmpty(Convert.ToString(Eval("DefaultParam")))) ? "= " + Eval("DefaultParam"):"" %>' />

Перейдите по этой ссылке учебник , чтобы узнать, как настраивать пользовательское форматирование на основе данных с использованием полей шаблона.

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