2

HTML コード:

<cc1:SPASDataGrid ID="dgPayments" runat="server" AutoGenerateColumns="false" ShowFooter="true" Ajaxify="true">
    <EditItemStyle VerticalAlign="Top"></EditItemStyle>
    <FooterStyle VerticalAlign="Top"></FooterStyle>
    <Columns>
          <asp:TemplateColumn HeaderText="Pay To">
            <FooterTemplate>
                <table id="Table3" runat="server">
                                               <tr>
                    <td>
                                                      <uc1:AnyDropDown ID="ddRolloverSource" runat="server" TableName="system_code" DisplayFieldName="description" CodeFieldName="code_value" WhereClause="PAYROLL_REQUEST" OnSelectedIndexChanged="ddRolloverSource_SelectedIndexChanged" AutoPostBack="true"></uc1:AnyDropDown>
                                                  </td>
                     </tr>
                                        </table>
            </FooterTemplate>
                              <ItemTemplate></ItemTemplate>
                              <EditItemTemplate></EditItemTemplate>
             </asp:TemplateColumn>
             <asp:TemplateColumn HeaderText="Post Tax Amount">
            <FooterTemplate>
                                      <table>
                <tr>
                   <td>
                    <cc1:SPASRadioButton Checked="true" Text="All" ID="rbPostTaxAll" GroupName="rbPostTaxAllOrRemaining" TabIndex="40" runat="server" CssClass="CheckBoxList"></cc1:SPASRadioButton>
                                           </td>
                   <td >
                    <cc1:SPASDropDownList ID="ddlPostTaxAmountOrPercentageF"  TabIndex="80" runat="server">
                    <asp:ListItem Selected="true" Value="Amount">Amount</asp:ListItem>
                    </cc1:SPASDropDownList>
                                           </td>                                        </tr>
                  </table>
            </FooterTemplate>
                              <ItemTemplate></ItemTemplate>                                    <EditItemTemplate></EditItemTemplate>                                                            
</Columns>
</cc1:SPASDataGrid>

コードビハインド:

Protected Sub ddRolloverSource_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
'Disable the rbPostTaxAll and ddlPostTaxAmountOrPercentageF controls
 End Sub

Datagrid にもあるドロップダウン リストの selectedIndexChanged イベント内の Datagrid にあるコントロールにアクセスしようとしています。

4

2 に答える 2

1

通常のGridViewを使用している場合は、これがその方法です。必要なのは、各行でそのコントロールを見つけることだけです。そうすれば、それを無効にすることができます。

Protected Sub ddRolloverSource_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
    For Each myDR As GridViewRow In GridView1.Rows
      If myDR.RowType=GridViewRowType.DataRow Then
        Dim FoundRadioButton As RadioButton = DirectCast(myDR.FindControl("rbPostTaxAll"), RadioButton)
        Dim FoundDropDownList As DropDownList = DirectCast(myDR.FindControl("ddlPostTaxAmountOrPercentageF"), DropDownList)
        FoundRadioButton.Enabled = False
        FoundDropDownList.Enabled = False
      End If  
    Next
End Sub

編集追加ビルの提案

編集DataGridの追加ソリューション

DataGridの場合はこれを使用します

Protected Sub ddRolloverSource_SelectedIndexChanged(sender As Object, e As EventArgs)

    Dim RowCount As Integer = DataGrid1.Items.Count - 1
    For i As Integer = 0 To RowCount - 1
        Dim RowItem As DataGridItem = DataGrid1.Items(RowCount)
        Dim FoundRadioButton As RadioButton = DirectCast(RowItem.FindControl("rbPostTaxAll"), RadioButton)
        Dim FoundDropDownList As DropDownList = DirectCast(RowItem.FindControl("ddlPostTaxAmountOrPercentageF"), DropDownList)

        FoundRadioButton.Enabled = False
        FoundDropDownList.Enabled = False
    Next
End Sub
于 2013-02-18T23:21:47.640 に答える
0

最後に解決策を見つけました。

Protected Sub ddRolloverSource_SelectedIndexChanged(sender As Object, e As EventArgs)
        Dim tbl As Table = DirectCast(dgPayments.Controls(0), Table)
        Dim footer As DataGridItem = DirectCast(tbl.Controls(tbl.Controls.Count - 1), DataGridItem)
        Dim rbPostTaxAll As RadioButton = DirectCast(footer.FindControl("rbPostTaxAll"), RadioButton )
        Dim rbPostTaxRemaining As DropDownList = DirectCast(footer.FindControl("rbPostTaxRemaining"), DropDownList )

        rbPostTaxAll .Enabled = False
        rbPostTaxRemaining .Enabled = False       
End Sub
于 2013-03-27T18:25:15.017 に答える