我有一个asp:GridView受约束的.在这里我有多列,我试图将两个数据库字段中的数据连接成一个字段.
这该怎么做?
像这样的东西?
asp:BoundField DataField="field1 + ' ' + field2" HeaderText="Status" SortExpression="info"
Run Code Online (Sandbox Code Playgroud)
pse*_*der 23
很确定你需要使用TemplateField而不是BoundField.
在GridView列栏中:
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<%# Eval("FirstName") + " " + Eval("LastName")%>
</ItemTemplate>
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)
fub*_*ubo 15
只是为了完整,因为我搜索了一个解决方案并且先来到这里......
您可以通过使用获得更多灵活性 string.Format()
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<%# string.Format("{0} {1}", Eval("field1") ,Eval("field2"))%>
</ItemTemplate>
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)
在这里,您还可以使用string.Format()格式化日期和数字类型的功能,如下所示:https://docs.microsoft.com/en-us/dotnet/standard/base-types/formatting-types
样品:
<%# String.Format("{0:MM/dd/yyyy} - {1:N2}", Eval("dateValue1"), Eval("decimalValue2")) %>
Run Code Online (Sandbox Code Playgroud)
另一个选择是使用后面的代码自定义方法
ASPX:
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<asp:Label runat="server" Text='<%#GetStatus(Eval("Status1"),Eval("Status2")) %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)
代码隐藏:
public string GetStatus(object Status1, object Status2)
{
return (string)Status1 + " " + (string)Status2;
}
Run Code Online (Sandbox Code Playgroud)
Sre*_*ree -1
尝试这样。如果您使用两个数据集,则创建一个数据表并将其绑定到 gridview。
<asp:BoundField DataField="<%# DataBinder.Eval(Container.DataItem, "f1")%>+ ' ' + <%# DataBinder.Eval(Container.DataItem, "f2")%>" HeaderText="Status" SortExpression="info"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43444 次 |
| 最近记录: |