我有一個綁定的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