2012-02-01 20 views
11

के बाउंडफ़िल्ल्ड में एकाधिक डेटा फ़ील्ड प्रदर्शित करें मेरे पास asp:GridView है जो बाध्य है। इसके भीतर मेरे पास एकाधिक कॉलम हैं, मैं एक फ़ील्ड में दो डेटाबेस फ़ील्ड से डेटा प्राप्त करने का प्रयास कर रहा हूं।ग्रिडव्यू

यह कैसे करें?

ऐसा कुछ?

asp:BoundField DataField="field1 + ' ' + field2" HeaderText="Status" SortExpression="info" 
+0

उचित पूंजीकरण और वर्तनी हमेशा एक प्लस =) – jadarnel27

उत्तर

0

इस तरह प्रयास करें। यदि आप दो डेटासेट का उपयोग कर रहे हैं तो एक डेटाटेबल को बनाएं और इसे ग्रिडव्यू से बांधें।

<asp:BoundField DataField="<%# DataBinder.Eval(Container.DataItem, "f1")%>+ ' ' + <%# DataBinder.Eval(Container.DataItem, "f2")%>" HeaderText="Status" SortExpression="info"/> 
+0

क्या आपको इसके लिए टेम्पलेट फ़ाइलों का उपयोग करने की आवश्यकता नहीं है? बाध्य फ़ील्ड नहीं? – Arion

+0

यह ... काम करता है? क्या आपने इसका परीक्षण किया है? – pseudocoder

+0

हाँ, मुझे पूरा यकीन है कि यह काम नहीं करेगा। -1। – pseudocoder

19

निश्चित रूप से आपको इसके लिए बाउंडफ़िल्ल्ड के बजाय टेम्पलेटफ़ाइल का उपयोग करने की आवश्यकता है।

अपने GridView कॉलम में ब्लॉक:

<asp:TemplateField HeaderText="Name"> 
     <ItemTemplate> 
      <%# Eval("FirstName") + " " + Eval("LastName")%> 
     </ItemTemplate> 
    </asp:TemplateField> 
+0

बहुत अच्छा काम करता है –

1
ToolTip='<%# Eval("LastName") & "-" & Eval("FirstName") %>' 
+0

लेकिन यह पहले दृश्य पर जानकारी नहीं देगा। –

10

बस पूर्णता के लिए, क्योंकि मैं एक समाधान खोज की है और यहाँ पहली बार आया ...

आप string.Format()

का उपयोग करके और अधिक लचीलापन मिल गया है
<asp:TemplateField HeaderText="Status"> 
<ItemTemplate> 
    <%# string.Format("{0} {1}", Eval("field1") ,Eval("field2"))%> 
</ItemTemplate> 
</asp:TemplateField> 

यहां आप दा प्रारूपित करने के लिए string.Format() की शक्ति का भी उपयोग कर सकते हैं ते और संख्या प्रकार यहाँ 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> 

कोडबेइंड:

public string GetStatus(object Status1, object Status2) 
{ 
    return (string)Status1 + " " + (string)Status2; 
} 
+1

@ShieldOfSalvation धन्यवाद, मैंने इसे अपने उत्तर में जोड़ा है – fubo

संबंधित मुद्दे