ड्रापडाउन पर GridView से अपडेट किया जा रहा बदल

वोट
1

मैं एक GridView नियंत्रण जो मैं 2 दिखाई क्षेत्रों, एक लेबल और एक ड्रॉपडाउन है करना चाहते हैं। इसके बजाय एक RowEditTemplate का उपयोग कर के, मैं सिर्फ ItemTemplate परिभाषित करने के लिए लटकती मूल्य होने की उम्मीद कर रही थी।

घटना में है कि एक ड्रॉपडाउन बदल गया है, मैं कुछ कोड जहां मुझे लगता है कि gridview पंक्ति के लिए पूर्णांक कुंजी प्राप्त कर सकते हैं और ड्रॉप-डाउन के नए चुने गए मूल्य पर अमल करना चाहते हैं। निम्नलिखित की तरह कुछ:

<asp:GridView ID=GridView2 runat=server AutoGenerateColumns=False 
        DataKeyNames=pk_id onrowdeleting=GridView2_RowDeleting 
        onrowcommand=GridView2_RowCommand>
        <Columns>
            <asp:BoundField DataField=pk_id Visible=False />
            <asp:BoundField DataField=Column1 HeaderText=Column1 />
            <asp:TemplateField HeaderText=Column2>
                <ItemTemplate>
                    <asp:DropDownList ID=DropDownList3 runat=server 
                        DataSourceID=SqlDataSource DataTextField=name 
                        DataValueField=id2
                        SelectedValue='<%# Bind(id2) %>' 
                        AutoPostBack=True>
                    </asp:DropDownList>
                    <asp:SqlDataSource ID=SqlDataSource runat=server 
                        ConnectionString=<%$ ConnectionStrings:Main %> 
                        SelectCommand=get_TestData SelectCommandType=StoredProcedure>
                    </asp:SqlDataSource>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:CommandField ShowDeleteButton=True />
        </Columns>
    </asp:GridView>

कोड के पीछे

protected void Page_Load(object sender, EventArgs e)
{
    ...
    GridView2.DataSource = new Person(id).GetDataSet();
    GridView2.DataBind();
}
protected void GridView2_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
    // Call delete function with the key
    // Delete(key);
}
protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
{
    // figure out which row sent it
    // UpdateRecord(key, newvalue)
}

लटकती से भर जाता है और मूल्य ठीक से चयन किया है, लेकिन मुझे नहीं ठीक से काम करने लटकती से हटाए जाने या अद्यतन प्राप्त कर सकते हैं। मैं इन कार्यों को लागू करने की कोशिश की है, लेकिन RowCommand आग जब लटकती एक पोस्टबैक से चलाता है प्रतीत नहीं होता। यहां तक ​​कि अगर यह गति प्रदान करता है, मुझे यकीन है कि मूल्यों की आवश्यकता पाने के लिए नहीं कर रहा हूँ। वहाँ एक बेहतर तरीका है कि मैं इस बारे में जा रहा किया जाना चाहिए है?

11/09/2009 को 22:05
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
1

मैं अपने कोड में एक बात गौर किया है कि आप कहा जाता है GridView2.DataBind () पृष्ठ लोड पर .... पृष्ठ को पूर्व में डालने की कोशिश है क्योंकि जब एक घटना यह पृष्ठ लोड कॉल निकाल दिया जाता है और अपने gridview ताज़ा हो जाएगा से पहले घटना नियंत्रित किया जाता है ....

लेकिन यह हमेशा नहीं है कि यह समस्या आ जाती है

14/09/2009 को 07:52
का स्रोत उपयोगकर्ता

वोट
0

अपने पृष्ठ लोड में इस कोड डाल करने की कोशिश

protected void Page_Load(object sender, EventArgs e)
{
    if(!isPostback)
    {
    GridView2.DataSource = new Person(id).GetDataSet();
    GridView2.DataBind();
    }
}

इस 'आपकी समस्या का समाधान होगा

24/01/2014 को 04:14
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more