У моїй веб-програмі є ASP.NET GridView, і я хотів би зв'язати два поля в один стовпець і використовувати форматування рядків. Я наводжу приклад нижче, чи можна реалізувати в GridView?
У мене є два поля даних Name
і DefaultParam
і хотів би відобразити ці поля в одному стовпці GridView.
Подобається це
Name=DefaultParam
Якщо значення DefaultParam порожнє, я хотів би відображати лише Name
значення і не включають =
Я використовував Repeater і код нижче, щоб досягти цього, але тепер вирішив перенести відображення даних у GridView
<%#Eval("Name")%>
<%# (!string.IsNullOrEmpty(Eval("DefaultParam").ToString())) ? "= " + Eval("DefaultParam"):"" %>
Відповіді:
3 для відповіді № 1Ви можете використовувати TemplateField і вкласти туди свою логіку:
<asp:TemplateField HeaderText="Header">
<ItemTemplate>
<%#Eval("Name") + (!string.IsNullOrEmpty(Eval("DefaultParam").ToString())) ? "= " + Eval("DefaultParam"):""%>
</ItemTemplate>
</asp:TemplateField>
Іншим варіантом було б використовувати властивість на вашому об'єкті, щоб зробити цю логіку для вас за кадром, і просто використовувати це як BoundField, але ви не згадували, який об'єкт є вашим прив'язуванням.
0 для відповіді № 2
Ви можете просто написати код на стороні сервера <%# ... %>
як ви пишете в коді позаду. просто поставте його в "" (між одинарними лапками).
<asp:Lable id="lblxx" runat="server"
Text="<%# Eval("Name") + (!string.IsNullOrEmpty(Convert.ToString(Eval("DefaultParam")))) ? "= " + Eval("DefaultParam"):"" %>" />
Дотримуйтесь цього підручник посилання, щоб дізнатись, як користувацьке форматування на основі даних за допомогою полів шаблонів.