पर गतिशील बाध्यकारी मैं प्रदर्शित होने पर स्ट्रिंग के रूप में चयनित मान दिखाने के लिए एक एएसपी.NET 3.5 ग्रिड व्यू प्राप्त करने का प्रयास कर रहा हूं, और ड्रॉपडाउनलिस्ट को दिखाने के लिए मुझे किसी दिए गए मान से मूल्य चुनने की अनुमति देने के लिए संपादित किए जाने पर विकल्पों की सूची। काफी सरल लगता है?ग्रिडव्यू पंक्ति संपादन - ड्रॉपडाउनलिस्ट
मेरे gridview की तरह इस (सरलीकृत) दिखता है:
<asp:GridView ID="grvSecondaryLocations" runat="server"
DataKeyNames="ID" OnInit="grvSecondaryLocations_Init"
OnRowCommand="grvSecondaryLocations_RowCommand"
OnRowCancelingEdit="grvSecondaryLocations_RowCancelingEdit"
OnRowDeleting="grvSecondaryLocations_RowDeleting"
OnRowEditing="grvSecondaryLocations_RowEditing"
OnRowUpdating="grvSecondaryLocations_RowUpdating" >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblPbxTypeCaption" runat="server"
Text='<%# Eval("PBXTypeCaptionValue") %>' />
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlPBXTypeNS" runat="server"
Width="200px"
DataTextField="CaptionValue"
DataValueField="OID" />
</EditItemTemplate>
</asp:TemplateField>
</asp:GridView>
ग्रिड ठीक से प्रदर्शित हो जाता है जब नहीं संपादन मोड में - चयनित पीबीएक्स प्रकार एएसपी में अपने मूल्य पता चलता है: लेबल नियंत्रण। वहां कोई आश्चर्य नहीं है।
मैं ड्रॉपडाउनलिस्ट के लिए _pbxTypes
नामक स्थानीय सदस्य में फॉर्म की घटना को OnLoad
ईवेंट में लोड करता हूं। मैंने यह सत्यापित किया - यह काम करता है, मूल्य वहां हैं।
अब मेरी चुनौती है: जब ग्रिड किसी विशेष पंक्ति के लिए संपादन मोड में जाता है, तो मुझे _pbxTypes
में संग्रहीत पीबीएक्स की सूची को बांधना होगा।
काफी सरल है, मैंने सोचा - बस RowEditing
घटना में सूची वस्तु ड्रॉप डाउन हड़पने और सूची संलग्न:
protected void grvSecondaryLocations_RowEditing(object sender, GridViewEditEventArgs e)
{
grvSecondaryLocations.EditIndex = e.NewEditIndex;
GridViewRow editingRow = grvSecondaryLocations.Rows[e.NewEditIndex];
DropDownList ddlPbx = (editingRow.FindControl("ddlPBXTypeNS") as DropDownList);
if (ddlPbx != null)
{
ddlPbx.DataSource = _pbxTypes;
ddlPbx.DataBind();
}
.... (more stuff)
}
मुसीबत है - मैं कभी नहीं FindControl
कॉल से वापस कुछ भी - ddlPBXTypeNS
की तरह लगता है मौजूद नहीं है (या नहीं मिला)।
मुझे क्या याद आ रही है ?? वास्तव में कुछ बेवकूफ होना चाहिए .... लेकिन अब तक, मेरे सभी गुगलिंग, ग्रिड व्यू नियंत्रणों पर पढ़ना, और दोस्तों से पूछने में मदद नहीं मिली है।
गायब लिंक को कौन देख सकता है? ;-)
ट्रिकी .... मुझे यह घटना मिलती है, लेकिन रोस्टस्टेट "वैकल्पिक | संपादन" है - इसलिए आपका IF कभी भी सत्य नहीं है :-) –
ठीक है, मैंने "संपादित करें" बिट सेट करने के लिए जांचने के लिए अपना बदल दिया (सेट किए जा सकने वाले किसी भी अन्य बिट्स को अनदेखा कर सकते हैं) और अब यह एक आकर्षण की तरह काम करता है! धन्यवाद एक ढेर !! –
सिर्फ कोड :) – balexandre