كيفية العثور على التحكم في مربع النص في المكرر


كيفية العثور على قيمة التحكم في مربع النص في المكرر داخل المكرر الآخر وتحديث البيانات، يقوم هذا المكرر بإنشاء قسم ومكرر آخر لإنشاء موظفين برواتبهم وعندما أضغط على حفظ، يمكن أن يأخذ القيمة من مربع النص (الراتب) وتحديث البيانات في ديسيبل
هذا الكود لتوليد البيانات وملء المكرر

VB
Private Sub BindData()
      Try
          dt = cls.rtv_All_Dep
          rptCustomRepeater.DataSource = dt
          rptCustomRepeater.DataBind()

      Catch
      End Try
  End Sub
  Protected Sub CustomInfoRepeater_ItemDataBound(sender As Object, e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles rptCustomRepeater.ItemDataBound
      If e.Item.ItemType = ListItemType.Item Then
          Try

              Dim LabID As Label = TryCast(e.Item.FindControl("LabID"), Label)
              Dim lblManID As Label = TryCast(e.Item.FindControl("lblManID"), Label)
              Dim Repeater1 As Repeater = TryCast(e.Item.FindControl("Repeater1"), Repeater)
              Dim depID As Integer = LabID.Text
              dt = cls.rtv_All_Emp(depID)
              Repeater1.DataSource = dt
              Repeater1.DataBind()



          Catch
          End Try
      End If
  End Sub

وهذا كود HTML

أسب.نت
<asp:Repeater ID="rptCustomRepeater" runat="server">
            <HeaderTemplate>
                
            </HeaderTemplate>
            <ItemTemplate>
                <table id="rptCustom">
                    <tr class="rptHeader">
                        <th>DEPARTMENT_ID</th>
                        <th>DEPARTMENT_NAME</th>
                        <th>MANAGER_ID</th>
                    </tr>
                <tr class="rptDataRows">
                    <td><asp:Label ID="LabID" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "DEPARTMENT_ID")%>'></asp:Label> </td>
                    <td><%#DataBinder.Eval(Container.DataItem, "DEPARTMENT_NAME")%> </td>
                    <td><asp:Label ID="lblManID" runat="server"  Visible="false" Text='<%#DataBinder.Eval(Container.DataItem,"MANAGER_ID")%>'></asp:Label></td>
                         <td><asp:Label ID="lblManName" runat="server" Text=""></asp:Label> </td>
            </tr>
                </table>
                
                       
                <asp:Repeater ID="Repeater1" runat="server">

                    <HeaderTemplate>  <table id="rptEmp">
                    <tr class="rptHeader">
                        <th>EmpID</th>
                        <th>Emp NAME</th>
                        <th>SALARY</th>
                    </tr></HeaderTemplate>
                    <ItemTemplate>

                       
                <tr class="rptDataRows">
                    <td><asp:Label ID="LabID" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "EMPLOYEE_ID")%>'></asp:Label> </td>
                    <td>
                         <asp:Label ID="lblEmpFName" runat="server" Text= '<%#DataBinder.Eval(Container.DataItem, "FIRST_NAME")%>' ></asp:Label>  <asp:Label ID="lblEmpSName" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "LAST_NAME")%>'></asp:Label></td>
                         <td>
                             <asp:TextBox ID="txtSALARY"  runat="server"  Text='<%#DataBinder.Eval(Container.DataItem, "SALARY")%>'></asp:TextBox>
                         </td>
            </tr>
                
                


                    </ItemTemplate>
                    <FooterTemplate></table>
                        -----------------------------------------------------------------------------------------------------------------
                        <br />
                        -----------------------------------------------------------------------------------------------------------------

                    </FooterTemplate>

                </asp:Repeater>



              
            </ItemTemplate>
            <FooterTemplate>
                
            </FooterTemplate>

        </asp:Repeater>
        <asp:Button ID="Button1" runat="server" Text="Button" />

الحل 1

شيء من هذا القبيل أدناه. تحتاج إلى تكرار العناصر والعثور على عنصر التحكم الخاص بها Salary.

VB
Dim Repeater1 As Repeater = TryCast(e.Item.FindControl("Repeater1"), Repeater)

For Each item In Repeater1.Items

   dim txtSalary As TextBox = TryCast(item.FindControl("txtSALARY"), TextBox)

   ' Do whatever you want to do with this textbox value.

Next

الحل 2


<قالب العنصر>
“>

RPL_ItemCommand باطل محمي (مصدر الكائن، RepeaterCommandEventArgs e)
{

TextBox TxtQty = (TextBox)e.Item.FindControl(“TxtQty”);
HiddenField HidPro = (HiddenField)e.Item.FindControl(“HidPro”);

حصة[“PLQty”] = HidPro.Value;
حصة[“PLId”] = TxtQty.Text;
}

コメント

タイトルとURLをコピーしました