2017-02-01 9 views
0

У меня есть проект ASP.NET с встроенным telerik. Управление телерикой У меня есть RadTabStrip. Текущая задача: Клиент хочет, чтобы первые 2 вкладки «Сотрудник» и «Общая информация» были заполнены первым, прежде чем они смогут заполнить другие вкладки.Как сделать первые 2 вкладки radtabstrip обязательными для заполнения?

Не знаете, как это реализовать. Вот пример

<telerik:RadTabStrip ID="RadTabStrip1" runat="server" SelectedIndex="0" MultiPageID="RadMultiPage1" 
      Skin="Telerik" CausesValidation="false"> 
      <Tabs> 
       <telerik:RadTab runat="server" Selected="True"> 
        <TabTemplate> 
         <asp:Label ID="Label29" runat="server" Text="<%$ Resources:strings, sample_generalinformation %>" /> 
         <img id="generalInfoErrorIndicator" src="../Images/alert-small.gif" alt="" style="display: none;" /> 
        </TabTemplate> 
       </telerik:RadTab> 
       <telerik:RadTab runat="server"> 

Вот код вкладки.

<!-- EMPLOYEE INFORMATION --> 
      <telerik:RadPageView ID="pvEmployeeInformation" runat="server"> 
       <div id="employeeInfoDiv" runat="server"> 
        <table border="0" cellpadding="3" cellspacing="2"> 
         <tr> 
          <td colspan="2"> 
           <h1> 
            <asp:Label ID="Label34" runat="server" Text="<%$ Resources:strings, observed_employee_information %>" /></h1> 
          </td> 
         </tr> 
         <tr> 
          <td style="text-align: right;"> 
           <asp:Label ID="Label12" runat="server" Text="<%$ Resources:strings, employee_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <ihamm:EmployeeSearch ID="employeeSearch" runat="server" OnClientEmployeeSelected="employeeSelected" 
            ClientValidationFunction="validateEmployee" ValidationGroup="employeeInfo" /> 
          </td> 
         </tr> 
         <tr> 
          <td colspan="2" align="center"> 
           <table border="0" cellpadding="3" cellspacing="2"> 
            <tr> 
             <td> 
              <asp:CheckBox ID="areaSampleCheckBox" runat="server" Text="<%$ Resources:strings, labels_areasample %>" 
               ValidationGroup="employeeInfo" /> 
             </td> 
             <td> 
              <asp:CheckBox ID="unknownEmployeeCheckBox" runat="server" Text="<%$ Resources:strings, labels_unknownemployee %>" 
               ValidationGroup="employeeInfo" /> 
             </td> 
            </tr> 
           </table> 
          </td> 
         </tr> 
         <tr> 
          <td style="text-align: right;"> 
           <asp:Label ID="Label13" runat="server" Text="<%$ Resources:strings, job_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <ihamm:JobSearch ID="jobSearch" runat="server" ValidationGroup="employeeInfo" ClientValidationFunction="validateJob" 
            OnClientJobSelected="jobSelected" /> 
          </td> 
         </tr> 
         <tr> 
          <td colspan="2" align="center"> 
           <asp:CheckBox ID="unknownJobCheckBox" runat="server" Text="<%$ Resources:strings, labels_unknownjob %>" /> 
          </td> 
         </tr> 
         <tr> 
          <td style="text-align: right;"> 
           <asp:Label ID="Label14" runat="server" Text="<%$ Resources:strings, shift_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <ihamm:NewShiftDropDown ID="shiftDropDown" runat="server" ValidationGroup="employeeInfo" /> 
          </td> 
         </tr> 
         <tr> 
          <td style="text-align: right;"> 
           <asp:Label ID="Label15" runat="server" Text="<%$ Resources:strings, shiftlength_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <ihamm:NewShiftLengthDropDown ID="shiftLengthDropDown" runat="server" ValidationGroup="employeeInfo" /> 
          </td> 
         </tr> 
         <tr> 
          <td colspan="2"> 
           <asp:ValidationSummary ID="employeeInformationValidationSummary" runat="server" Font-Bold="True" 
            ForeColor="Red" HeaderText="<%$ Resources:strings, validationsummary_nextwizard_msg %>" 
            ValidationGroup="employeeInfo" /> 
          </td> 
         </tr> 
        </table> 
       </div> 
      </telerik:RadPageView> 

И еще

<!-- GENERAL INFORMATION --> 
      <telerik:RadPageView ID="pvGeneralInformation" runat="server"> 
       <div id="generalInfoDiv" runat="server"> 
        <table border="0" cellpadding="3" cellspacing="2"> 
         <tr> 
          <td colspan="4"> 
           <h1> 
            <asp:Label ID="Label16" runat="server" Text="<%$ Resources:strings, general_information %>" /></h1> 
          </td> 
         </tr> 
         <tr valign="top"> 
          <td style="text-align: right;"> 
           <asp:Label ID="Label1" runat="server" Text="<%$ Resources:strings, facility_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <ihamm:FacilitySearch ID="facilitySearch" runat="server" ValidationGroup="generalInfo" 
            OnClientFacilitySelected="facilitySelected" OnClientFacilityCleared="facilityCleared" 
            AutoPostBack="true" /> 
          </td> 
          <td style="text-align: right; padding-left: 10px;" valign="top"> 
           <asp:Label ID="Label7" runat="server" Text="<%$ Resources:strings, samplelength_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <ihamm:NewSampleLengthDropDown ID="sampleLengthDropDown" runat="server" ValidationGroup="generalInfo" /> 
          </td> 
         </tr> 
         <tr valign="top"> 
          <td style="text-align: right; padding-left: 10px;"> 
           <asp:Label ID="Label2" runat="server" Text="<%$ Resources:strings, sampledate_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <ihamm:NewDateEntry ID="sampleDate" runat="server" ValidationGroup="generalInfo" 
            ValidateDateNotInFuture="true" /> 
          </td> 
          <td style="text-align: right; padding-left: 10px;" valign="top"> 
           <asp:Label ID="Label8" runat="server" Text="<%$ Resources:strings, samplemethod_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <ihamm:SampleMethodSearch ID="sampleMethodSearch" runat="server" ValidationGroup="generalInfo" 
            OnClientSampleMethodSelected="sampleMethodSelected" /> 
          </td> 
         </tr> 
         <tr valign="top"> 
          <td style="text-align: right;"> 
           <asp:Label ID="Label3" runat="server" Text="<%$ Resources:strings, sampletype_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <ihamm:NewSampleTypeDropDown ID="sampleTypeDropDown" runat="server" ValidationGroup="generalInfo" 
            FormDesignator="PassiveBadge" /> 
          </td> 
          <td style="text-align: right; padding-left: 10px;" valign="top"> 
           <asp:Label ID="Label69" runat="server" Text="<%$ Resources:strings, samplenumber_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <telerik:RadTextBox ID="sampleNumberTextBox" runat="server" Skin="Telerik" Width="200px" />&nbsp;<asp:Image 
            ID="sampleNumberInfoImage" runat="server" ImageUrl="~/Images/info.png" ToolTip="<%$ Resources:strings, samplenumber_info %>" /> 
           <asp:RegularExpressionValidator ID="RegularExpressionValidator19" runat="server" 
            ControlToValidate="sampleNumberTextBox" ErrorMessage="<%$ Resources:strings, validations_fieldlength_16 %>" 
            ToolTip="<%$ Resources:strings, validations_fieldlength_16 %>" ValidationExpression="<%$ AppSettings:Length16ValidationExpression %>" 
            ValidationGroup="generalInfo" /> 
          </td> 
         </tr> 
         <tr valign="top"> 
          <td style="text-align: right; padding-left: 10px;" valign="top"> 
           <asp:Label ID="Label4" runat="server" Text="<%$ Resources:strings, occupationalhealthlimit_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <ihamm:OelSearch ID="oelSearch" runat="server" ValidationGroup="generalInfo" OnClientOelSelected="oelSelected" /> 
          </td> 
          <td style="text-align: right; padding-left: 10px;" valign="top"> 
           <asp:Label ID="Label10" runat="server" Text="<%$ Resources:strings, labsamplenumber_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <telerik:RadTextBox ID="labSampleNumberTextBox" runat="server" Skin="Telerik" Width="175px" /> 
           <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="labSampleNumberTextBox" 
            ErrorMessage="<%$ Resources:strings, labsamplenumber_length %>" ToolTip="<%$ Resources:strings, labsamplenumber_length %>" 
            ValidationExpression="<%$ AppSettings:Length64ValidationExpression %>" ValidationGroup="generalInfo" /> 
          </td> 
         </tr> 
         <tr valign="top"> 
          <td style="text-align: right; padding-left: 10px;" valign="top"> 
           <asp:Label ID="Label67" runat="server" Text="<%$ Resources:strings, exposuregroup_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <ihamm:ExposureGroupSearch ID="exposureGroupSearch" runat="server" ValidationGroup="generalInfo" /> 
          </td> 
          <td colspan="2" align="center"> 
           <table border="0" cellpadding="3" cellspacing="2"> 
            <tr> 
             <td style="text-align: right; padding-left: 10px;" valign="top"> 
              <asp:Label ID="Label11" runat="server" Text="<%$ Resources:strings, stelsample_label %>" 
               Font-Bold="True" ForeColor="Navy" /> 
             </td> 
             <td style="text-align: left;"> 
              <asp:CheckBox ID="stelSampleCheckBox" runat="server" /> 
             </td> 
             <td style="text-align: right; padding-left: 10px;" valign="top"> 
              <asp:Label ID="Label68" runat="server" Text="<%$ Resources:strings, labels_ceiling %>" 
               Font-Bold="True" ForeColor="Navy" /> 
             </td> 
             <td style="text-align: left;"> 
              <asp:CheckBox ID="ceilingSampleCheckBox" runat="server" /> 
             </td> 
            </tr> 
           </table> 
          </td> 
         </tr> 
         <tr valign="top"> 
          <td style="text-align: right; padding-left: 10px;" valign="top"> 
           <asp:Label ID="Label5" runat="server" Text="<%$ Resources:strings, collectinguser_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <ihamm:AdminUserSearch ID="adminUserSearch" runat="server" ValidationGroup="generalInfo" /> 
          </td> 
          <td style="text-align: right;"> 
           <asp:Label ID="Label18" runat="server" Text="<%$ Resources:strings, samplingdevice_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <ihamm:NewSamplingDeviceDropDown ID="samplingDeviceDropDown" runat="server" /> 
          </td> 
         </tr> 
         <tr valign="top"> 
          <td style="text-align: right; padding-left: 10px;" valign="top"> 
           <asp:Label ID="Label6" runat="server" Text="<%$ Resources:strings, samplestrategy_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <ihamm:NewSampleStrategyDropDown ID="sampleStrategyDropDown" runat="server" ValidationGroup="generalInfo" /> 
          </td> 
          <td style="text-align: right;"> 
           <asp:Label ID="Label19" runat="server" Text="<%$ Resources:strings, blanknumber_label %>" 
            Font-Bold="True" ForeColor="Navy" /> 
          </td> 
          <td style="text-align: left;"> 
           <telerik:RadTextBox ID="blankNumberTextBox" runat="server" Skin="Telerik" /> 
           <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="blankNumberTextBox" 
            ErrorMessage="<%$ Resources:strings, blanknumber_required %>" ToolTip="<%$ Resources:strings, blanknumber_required %>" 
            ValidationGroup="generalInfo" /> 
           <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="blankNumberTextBox" 
            ErrorMessage="<%$ Resources:strings, blanknumber_length %>" ToolTip="<%$ Resources:strings, blanknumber_length %>" 
            ValidationExpression="<%$ AppSettings:Length64ValidationExpression %>" ValidationGroup="generalInfo" /> 
          </td> 
         </tr> 
         <tr valign="top"> 
          <td colspan="4"> 
           <asp:ValidationSummary ID="generalInformationValidationSummary" runat="server" Font-Bold="True" 
            ForeColor="Red" HeaderText="<%$ Resources:strings, validationsummary_nextwizard_msg %>" 
            ValidationGroup="generalInfo" /> 
          </td> 
         </tr> 
        </table> 
       </div> 
      </telerik:RadPageView> 
+0

который контролирует у вас в этих двух RadTabStrips вам нравится быть заполненным первым? – FeliceM

+0

@FeliceM Я вижу RadpageView для TELERIK и ярлыков, сводка проверки, флажок для ASP. Я также вижу, что сотрудники ищут пользовательскую вещь, это не ASP или telerik. –

+0

В вашем коде выше в RadTabStrip ничего не должно быть сделано. Я предполагаю, что вы хотите разместить текстовые поля внутри TabTemplate, и только после того, как все они будут завершены, сделайте видимыми или редактируемыми другие RadStripTabs. Если это так, вы можете использовать валидаторы или код для доступа к этим текстовым полям и создавать условия. Отправьте свой код с помощью элементов управления, если вам нужна дополнительная помощь. – FeliceM

ответ

0

Это очень трудно дать вам решение, основанное на собственном код из-за все пользовательские ссылки. Однако элементы управления на разных вкладках можно получить непосредственно из кода. Я сделал тест на 3 вкладках RadTabStrip, играя при включении tab2.

UPDATE

Что-то пошло не так и в предыдущем примере. Мне пришлось использовать Javascript для решения проблемы на стороне клиента. Я тестировал этот код, и он работает. В основном есть две текстовые поля на первой вкладке и кнопка, которая по умолчанию отключена. Кнопка активируется только в том случае, если текст находится в обоих текстовых окнах (я понял, что на вкладке есть несколько элементов управления, которые должны быть заполнены, так что это хороший пример). Затем нажмите кнопку, которую вы активируете на вкладке 2. Вы можете переписать javascript, чтобы включить непосредственно вкладки, когда ваши поля/элементы управления на первой и второй вкладках удовлетворяют требованиям.

В Page_Load установить вкладки, которые не должны быть видимы или включен

protected void Page_Load(object sender, EventArgs e) 
{ 

    //RadTabStrip1.Tabs[2].Visible = false; 
    RadTabStrip1.Tabs[2].Enabled = false; 
} 


protected void Button1_Click(object sender, EventArgs e) 
    { 
     RadTabStrip1.Tabs[2].Enabled = true; 
    } 

Вот остальная часть кода с помощью сценария

<body> 
<form id="form1" runat="server"> 

    <script language="javascript" type="text/javascript"> 
     //function to enable button if two textboxes contains text 
     function SetButtonStatus(sender, target) { 
      var first = document.getElementById('<%=TextBox1.ClientID %>'); 
      var second = document.getElementById('<%=TextBox2.ClientID %>'); 
      //Condition to check whether user enters text in two textboxes or not 
      if ((sender.value.length >= 1 && first.value.length >= 1) && (sender.value.length >= 1 && second.value.length >= 1)) 
       document.getElementById(target).disabled = false; 
      else 
       document.getElementById(target).disabled = true; 
     } 
    </script> 


    <telerik:RadScriptManager runat="server" ID="RadScriptManager1" /> 
    <div> 
     <telerik:RadTabStrip RenderMode="Lightweight" runat="server" ID="RadTabStrip1" MultiPageID="RadMultiPage1" SelectedIndex="0" Skin="Silk"> 
      <Tabs> 
       <telerik:RadTab Text="I am Tab 0" Width="200px"></telerik:RadTab> 
       <telerik:RadTab Text="I am Tab 1" Width="200px"></telerik:RadTab> 
       <telerik:RadTab Text="I am Tab 2" Width="200px"></telerik:RadTab> 
      </Tabs> 
     </telerik:RadTabStrip> 
     <telerik:RadMultiPage runat="server" ID="RadMultiPage1" SelectedIndex="0" CssClass="outerMultiPage"> 
      <telerik:RadPageView runat="server" ID="RadPageView1"> 
       <telerik:RadTabStrip RenderMode="Lightweight" runat="server" ID="RadTabStrip2" MultiPageID="RadMultiPage2" 
        Orientation="VerticalLeft" Skin="Silk" Width="50px" Height="355px" SelectedIndex="0"> 
       </telerik:RadTabStrip> 
       <telerik:RadMultiPage runat="server" ID="RadMultiPage2" SelectedIndex="0" CssClass="innerMultiPage"> 
        <telerik:RadPageView runat="server" ID="PageView1"> 
         <div> 
          <asp:TextBox ID="TextBox1" runat="server" onkeyup="SetButtonStatus(this,'btnButton')"></asp:TextBox> 
          <asp:TextBox ID="TextBox2" runat="server" onkeyup="SetButtonStatus(this,'btnButton')"></asp:TextBox> 
          <asp:Button ID="btnButton" runat="server" Text="Button" Enabled="false" OnClick="Button1_Click" /> 
         </div> 
        </telerik:RadPageView> 
       </telerik:RadMultiPage> 
      </telerik:RadPageView> 
      <telerik:RadPageView runat="server" ID="RadPageView2"> 
       <div></div> 
       <div> 
        <p>Something</p> 
       </div> 
      </telerik:RadPageView> 
      <telerik:RadPageView runat="server" ID="RadPageView3"> 
       <div> 
        <p>Again something</p> 
       </div> 
      </telerik:RadPageView> 
     </telerik:RadMultiPage> 
    </div> 
    </form> 
</body> 
+0

Большое вам спасибо за то, что нашли время, чтобы написать все это. Я не уверен, почему мой «RadTabStrip1.Tabs [2] .Visible = false;» не работает для меня .enabled тоже не работает. Любые мысли о том, почему? Я уверен, что это второстепенная вещь, которую я не замечаю. –

+0

Куда вы его размещаете? Индекс вкладки начинается с 0. Дайте мне знать – FeliceM

+0

Да, я добавляю его в начало функции page_load в файле .cs. Я попробовал оба .visible и .enable и использовал 2-7 –

 Смежные вопросы

  • Нет связанных вопросов^_^