2011-02-25 14 views
6

मुझे ग्रिडव्यू के लिए कई क्रियाएं बनाने की आवश्यकता है - कहें, "स्वीकृति दें", "अस्वीकार करें" और "वापसी"।asp.net ग्रिडव्यू: मेरे पास एक कॉलम में मल्टीपल बटन फ़ील्ड कैसे हो सकते हैं?

मैं प्रत्येक कार्य के लिए एक बटन क्षेत्र बनाकर ऐसा कर सकते हैं:

<asp:ButtonField ButtonType="Link" CommandName="Approve" Text="Approve" /> 
<asp:ButtonField ButtonType="Link" CommandName="Deny" Text="Deny /> 
<asp:ButtonField ButtonType="Link" CommandName="Return" Text="Deny" /> 

बहरहाल, यह प्रत्येक बटन के लिए एक स्तंभ बनाता है।

क्या समान कार्यक्षमता रखने का कोई तरीका है, लेकिन उन्हें एक कॉलम में संयोजित करें?

उत्तर

8

क्या आपने TemplateField का उपयोग करने पर विचार किया है?

<asp:GridView ID="grdTest" runat="server"> 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:LinkButton ID="btnApprove" runat="server" CommandName="Approve" Text="Approve" /> 
       <asp:LinkButton ID="btnDeny" runat="server" CommandName="Deny" Text="Deny" /> 
       <asp:LinkButton ID="btnReturn" runat="server" CommandName="Return" Text="Return" /> 
      </ItemTemplate>     
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

फिर आप आदेशों में ठीक उसी तरह से OnRowCommand का उपयोग कर कब्जा या आप जो कुछ भी पसंद कर सकते हैं: यहाँ एक उदाहरण है। आपके पास यह सुनिश्चित करने के लिए पूर्ण नियंत्रण है कि आपको नियमित पूर्वनिर्धारित कॉलम प्रकारों का उपयोग करने की अंतर्निहित कार्यक्षमता से कैसे बंधना चाहिए और बाध्य नहीं होना चाहिए।

+0

+1 क्योंकि यह स्वीकार्य उत्तर है – Alex

3

कोशिश के बजाय <asp:TemplateField> में बटन डाल करने के लिए:

<asp:TemplateField> 
    <ItemTemplate> 
     <asp:LinkButton CommandName="Approve" Text="Approve" /> 
     <asp:LinkButton CommandName="Deny" Text="Deny /> 
     <asp:LinkButton CommandName="Return" Text="Deny" /> 
    </ItemTemplate> 
</asp:TemplateField> 
2

समाधान ButtonField तत्वों का उपयोग करने के लिए नहीं है।

पूरा करने के लिए आप क्या आप एक TemplateField के रूप में एक स्तंभ बना सकते हैं और TemplateField के ItemTemplate या EditItemTemplate अपने यूआई के लिए के रूप में उपयुक्त भीतर नियमित ASP.NET <asp:Button id="myButton" /> के रूप में बटन निर्धारित करने की आवश्यकता होगी चाहते हैं।

आप GridView_OnItemCommand() हैंडलर, जहाँ आप जाँच कर सकते हैं e.CommandName वास्तव में यह पता लगाने की जो बटन घटना की वजह से में होने वाली घटनाओं के लिए क्लिक करें संभाल कर सकते हैं।

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