我有一个绑定的asp:GridView
。在这个我有多个列,我试图从两个数据库字段串联到一个领域的数据。在Gridview的BoundField中显示多个数据字段
如何做到这一点?
这样的事情?
asp:BoundField DataField="field1 + ' ' + field2" HeaderText="Status" SortExpression="info"
我有一个绑定的asp:GridView
。在这个我有多个列,我试图从两个数据库字段串联到一个领域的数据。在Gridview的BoundField中显示多个数据字段
如何做到这一点?
这样的事情?
asp:BoundField DataField="field1 + ' ' + field2" HeaderText="Status" SortExpression="info"
试试这个。 如果你使用两个数据集制作一个数据表并将其绑定到gridview。
<asp:BoundField DataField="<%# DataBinder.Eval(Container.DataItem, "f1")%>+ ' ' + <%# DataBinder.Eval(Container.DataItem, "f2")%>" HeaderText="Status" SortExpression="info"/>
难道你不需要使用模板文件吗?没有绑定的字段? – Arion 2012-02-01 14:22:52
这...有效吗?你测试过了吗? – pseudocoder 2012-02-01 15:23:27
是的,我很确定这不起作用。 -1。 – pseudocoder 2012-02-02 14:50:31
很确定你需要使用TemplateField来代替BoundField。
在你的GridView列块:
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<%# Eval("FirstName") + " " + Eval("LastName")%>
</ItemTemplate>
</asp:TemplateField>
非常感谢 – 2012-02-02 09:03:50
ToolTip='<%# Eval("LastName") & "-" & Eval("FirstName") %>'
但这不会给第一视图的信息。 – 2014-08-04 13:39:13
只是为了完整性,因为我寻找一个解决方案,是先在这里......
您已经使用string.Format()
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<%# string.Format("{0} {1}", Eval("field1") ,Eval("field2"))%>
</ItemTemplate>
</asp:TemplateField>
在这里您还可以使用string.Format()
的力量来格式化da TE和号码类型为这里descriped:https://docs.microsoft.com/en-us/dotnet/standard/base-types/formatting-types
样品:
<%# String.Format("{0:MM/dd/yyyy} - {1:N2}", Eval("field1"), Eval("field2")) %>
另一种选择是做在代码中自定义的方法,而不是背后的的String.Format
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<asp:Label runat="server" Text='<%#GetStatus(Eval("Status1"),Eval("Status2")) %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
Codebehind:
public string GetStatus(object Status1, object Status2)
{
return (string)Status1 + " " + (string)Status2;
}
@ShieldOfSalvation谢谢我已将它添加到我的答案中 – fubo 2017-11-15 07:51:34
正确的大小写和拼写总是加号=) – jadarnel27 2012-02-01 14:29:22