2011-08-23 67 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问你的问题。他们真的很有帮助,很快。