2010-12-01 7 views
2

동적으로 생성되고 동적으로 생성 된 SqlDataSource에 바인딩되는 모달 팝업에 나타나는 gridview가 있습니다.모달 팝업의 내부에서 Gridview를 편집하는 방법은 무엇입니까?

Gridview의 자동 편집 기능을 이용하기를 바랬습니다.

내 문제가

내가 솔루션 herehere 보았다 ... 편집 버튼을 클릭 할 때 modalpopup 인해 내 gridview에이 업데이트 패널에 있다는 사실에도 불구하고 전체 포스트 백에 종료한다는 것입니다하지만, 둘 다 문제를 해결하지 못했다. 또한 ModalPopupExtender를 업데이트 패널 등과 관련하여 배치하는 것과 관련하여 모든 조합을 태양 아래에서 시도했으며 UpdateMode를 조건부로 변경하려고 시도했습니다.

마크 업 :

<span class="none"><asp:Button ID="btnDummy" runat="server" Text="Dummy" /></span> 
<ajax:ModalPopupExtender ID="mpLabel" runat="server" TargetControlID="btnDummy" BackgroundCssClass="modalBackground" PopupControlID="pnlLabels"></ajax:ModalPopupExtender> 
<asp:Panel ID="pnlLabels" DefaultButton="btnOk" Style="display:none;" runat="server">  
<div style="background-color:#fff;border:1px solid black;padding:7px;">     
<asp:UpdatePanel ID="upLabels" runat="server" ChildrenAsTriggers="true" EnableViewState="true" UpdateMode="Always"> 
    <ContentTemplate> 
       <asp:Panel ID="pnlGv" runat="server" style="max-height:420px;width:700px;border-bottom:1px #ccc solid;" ScrollBars="Vertical"> 
        <asp:PlaceHolder ID="phLabelInfo" runat="server"></asp:PlaceHolder>      
        <asp:PlaceHolder ID="phSDS" runat="server"></asp:PlaceHolder>  
       </asp:Panel>         
    </ContentTemplate>   
</asp:UpdatePanel> 
<asp:Button ID="btnOk" runat="server" Text="Ok" /> 
</div> 
</asp:Panel> 

코드 뒤에 : 내 경험에서

Dim sdsLabels As New SqlDataSource 
    sdsLabels.ID = "sdsLabels" 
    sdsLabels.ConnectionString = System.Configuration.ConfigurationManager.AppSettings.Get("Generic Connection String") 
    sdsLabels.ProviderName = "System.Data.SqlClient" 
    sdsLabels.DeleteCommand = "DELETE FROM [JS_LABELS] WHERE [LABELID] = @LabelId" 
    sdsLabels.SelectCommand = "SELECT [LABELID], [CIRCUITNUMBER], [PANELNUMBER], [ADDITIONAL1], [ADDITIONAL2], [ADDITIONAL3] FROM [JS_LABELS] WHERE [QUOTEITEMID] = @QuoteItemId" 
    sdsLabels.UpdateCommand = "UPDATE [JS_LABELS] SET [CIRCUITNUMBER] = @CircuitNumber, [PANELNUMBER] = @PanelNumber, [ADDITIONAL1] = @Additional1, [ADDITIONAL2] = @Additional2, [ADDITIONAL3] = @Additional3 WHERE [LABELID] = @LABELID" 
    sdsLabels.SelectParameters.Add(New Parameter("QuoteItemId", Data.DbType.Int32, e.CommandArgument.ToString())) 
    sdsLabels.DeleteParameters.Add(New Parameter("LabelId", Data.DbType.Int32)) 

    Dim paramCollection As New ParameterCollection 
    paramCollection.Add("CircuitNumber", Data.DbType.String, "") 
    paramCollection.Add("PanelNumber", Data.DbType.String, "") 
    paramCollection.Add("Additional1", Data.DbType.String, "") 
    paramCollection.Add("Additional2", Data.DbType.String, "") 
    paramCollection.Add("Additional3", Data.DbType.String, "") 
    paramCollection.Add("LabelId", Data.DbType.Int32, "0") 


    Dim ph As New PlaceHolder 
    ph = CType(PageHelper.RecursiveFindControl(Page, "phSDS"), PlaceHolder) 
    ph.Controls.Add(sdsLabels) 

    Dim gv As New GridView 
    ph = CType(PageHelper.RecursiveFindControl(Page, "phLabelInfo"), PlaceHolder) 
    ph.Controls.Add(gv) 

    gv.CssClass = "LabelsTable" 
    Dim LabelId() As String = {"LabelId"} 
    gv.DataKeyNames = LabelId 
    gv.EnableViewState = True 
    gv.AutoGenerateEditButton = True 
    AddHandler gv.RowCommand, AddressOf gv_rowCommand 
    gv.DataSourceID = sdsLabels.ID 
    gv.DataBind() 

    mpLabel.Show() 
+0

와우 아직 답을 찾을 수 없습니까? 나는 같은 문제를 가지고있다! – jlg

답변

0

는 ModalPopupExtender은 명시 적으로하지 않는 경우에 트리거에 다시 게시에 항상 가까이 요청하지 않는 한 다시 게시판 :

btnSubmitRequest_ModalPopupExtender.Show(); 
+0

무슨 뜻인지 모르겠다. 나는 gridview rowcommand에 연결하고 mpLabels라고 불렀다. 그러나 포스트 백이 처음 해고되고 데이터 소스가 다시 바인딩 되었기 때문에 포스트 백이 발생했기 때문에 해고 된 적이 없다. 또한, gridview가 업데이트 패널에 있기 때문에 모달 팝업이 사라지지 않아야하는 부분적인 포스트 백만 발생해야합니다. – plntxt

관련 문제