2011-08-23 38 views
1

我有一個文本框和我的ASPXGridview,DetailRow視圖中的按鈕。所以當它擴展時,我需要輸入文本並單擊按鈕,並在服務器端從文本框中獲取值。如何找到控制嵌套到ASPXGridview按鈕點擊

這是我的代碼。這個問題在postback的某處我失去了文本的價值。因此,文本框爲空

protected void Button1_Click(object sender, EventArgs e) 
    { 

     ASPxGridView grid = EmailGridView; 

     for (int i = 0; i < grid.VisibleRowCount; i++) 
     { 
      var txtDescription = (ASPxMemo)grid.FindDetailRowTemplateControl(i, "txtDescription"); 

      if(txtDescription != null) 
      { 
       var text = txtDescription.Text; 
      } 
     } 
    } 

<dxwgv:ASPxGridView ID="EmailGridView" KeyFieldName="ThreadId" runat="server" AutoGenerateColumns="False" 
OnHtmlRowCreated="EmailGridView_HtmlRowCreated" SettingsDetail-AllowOnlyOneMasterRowExpanded="true" 
SettingsBehavior-ConfirmDelete="true" OnHtmlRowPrepared="EmailGridView_HtmlRowPrepared" 
OnRowDeleted="EmailGridView_RowDeleted"> 
<SettingsBehavior ConfirmDelete="True" /> 
<Columns> 
    <dxwgv:GridViewDataTextColumn Caption="ID" FieldName="Id" VisibleIndex="0"> 
    </dxwgv:GridViewDataTextColumn> 

    <dxwgv:GridViewCommandColumn VisibleIndex="5" Caption=" "> 
     <DeleteButton Visible="True"> 
     </DeleteButton> 
    </dxwgv:GridViewCommandColumn> 
</Columns> 
<SettingsDetail ShowDetailRow="true" /> 
<SettingsBehavior ConfirmDelete="True" /> 
<SettingsDetail AllowOnlyOneMasterRowExpanded="True" ShowDetailRow="True" /> 
<Templates> 
    <DetailRow> 
     <dxwgv:ASPxGridView ID="EmailSubGridView" Width="750px" OnBeforePerformDataSelect="EmailSubGridView_BeforePerformDataSelect" 
      runat="server" AutoGenerateColumns="False" 
      onhtmlrowcreated="EmailSubGridView_HtmlRowCreated"> 
      <Columns> 
       <dxwgv:GridViewDataTextColumn Caption="MessFrom" FieldName="MessFrom"> 
       </dxwgv:GridViewDataTextColumn> 
       <dxwgv:GridViewDataTextColumn Caption="Message" FieldName="Message"> 
       </dxwgv:GridViewDataTextColumn> 
       <dxwgv:GridViewDataTextColumn Caption="SendDtm" FieldName="SendDtm"> 
       </dxwgv:GridViewDataTextColumn> 
      </Columns> 
      <StylesEditors> 
       <ProgressBar Height="25px"> 
       </ProgressBar> 
      </StylesEditors> 
     </dxwgv:ASPxGridView> 


      <dx:ASPxMemo ID="txtDescription" runat="server" Width="170px" Height="71px"></dx:ASPxMemo> 

     <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Reply" /> 
    </DetailRow> 
</Templates> 

+0

你在哪裏綁定數據到GridView? –

回答

0

如果你想這些過程,當你擴大你的ASPxGridview,你應該使用DetailRowExpandedChanged事件。

此事件的工作原理,當你擴大崩潰ASPxGridview

Mehul's實際上對於這種情況實例非常好。之後,如果你仍然有問題,你可以在Devexpress Support問你的問題。他們真的很有幫助,很快。