2017-03-01 5 views
0

私は、チェックボックス付きのカスタムコントロールリストビューを持っています。ユーザーが1つのリスト項目をチェックすると、コードはそのまま流れます。ユーザーが複数のチェックボックスをオンにすると、「同日の1つ以上のタイムスロットでファイルを上書きする」という警告メッセージが表示され、[OK]と[キャンセル]が表示されます。okay cancelの確認ボックス

ユーザーが[OK]をクリックした場合、彼は許可して機能を使用します。彼がキャンセルをクリックすると、彼は戻って、チェックした2番目の値をオフにする必要があります。

私はJavascriptを使用してさまざまな方法で試しました。それのどれもうまくいきませんでした。助けてください。

そして、同じリストビューを使用して別のデータソースをバインドしているため、OnclientClick/OnClickを使用することはできません。私は複数のチェックでスケジュール時間の値を持つリストビューがある場合にのみ警告メッセージをポップアップする必要があります。条件コードがC#コードの下にある場合は、を見つけてください。

ビハインドコード:

protected void chkCheck_CheckedChanged(object sender, EventArgs e) 
    { 

     CheckBox chkCheck = (CheckBox)sender; 
     ListViewItem item = (ListViewItem)chkCheck.NamingContainer; 
     ListViewDataItem dataItem = (ListViewDataItem)item; 
     if (lookupMstVal == "ScheduledTime." && lbCheckedIdList.Items.Count > 0 && chkCheck.Checked) 
     { 
      //To do 
     } 
      string lookupId = lvLookup.DataKeys[dataItem.DisplayIndex].Value.ToString(); 
      if (chkCheck.Checked) 
       lbCheckedIdList.Items.Add(lookupId); 
      else 
       lbCheckedIdList.Items.Remove(lookupId); 
      hdfLookupId.Value = ""; 
      foreach (ListItem itm in lbCheckedIdList.Items) 
      { 
       hdfLookupId.Value += (hdfLookupId.Value == "" ? "" : ",") + itm.Value; 
      } 
      postbackFlag = true; 
    } 

.axcs

<asp:ListView ID="lvLookup" runat="server" GroupPlaceholderID="groupPlaceHolder1" 
       ItemPlaceholderID="itemPlaceHolder1" OnPagePropertiesChanging="lvLookup_PagePropertiesChanging" DataKeyNames="DCLookup_Id"> 
       <LayoutTemplate> 

        <table style="width: 100%"> 

         <tr> 
          <th></th> 
          <%-- <th id="colLookupId">Lookup Id</th>--%> 

          <th>Lookup Values 
          <asp:Label ID="lblTimeZone" runat="server" Text=""></asp:Label></th> 
         </tr> 
         <asp:PlaceHolder runat="server" ID="groupPlaceHolder1"></asp:PlaceHolder> 
         <tr> 
          <td colspan="3" class="ui-helper-center"> 
           <asp:DataPager ID="DataPager1" runat="server" PagedControlID="lvLookup" PageSize="10"> 
            <Fields> 
             <asp:NextPreviousPagerField ButtonType="Link" ShowFirstPageButton="true" ShowPreviousPageButton="true" 
              FirstPageText="<span style='font-size:16px;'><b><<</b></span>" PreviousPageText="<span style='font-size:14px;'><b><</b></span>" ShowNextPageButton="false" /> 
             <asp:NumericPagerField ButtonType="Link" /> 
             <asp:NextPreviousPagerField ButtonType="Link" ShowNextPageButton="true" ShowLastPageButton="true" 
              ShowPreviousPageButton="false" LastPageText="<span style='font-size:16px;'><b>>></b></span>" NextPageText="<span style='font-size:14px;'><b>></b></span>" /> 
            </Fields> 
           </asp:DataPager> 
          </td> 
         </tr> 
        </table> 
       </LayoutTemplate> 
       <GroupTemplate> 
        <tr> 
         <asp:PlaceHolder runat="server" ID="itemPlaceHolder1"></asp:PlaceHolder> 
        </tr> 
       </GroupTemplate> 
       <ItemTemplate> 
        <td> 
         <asp:CheckBox ClientIDMode="AutoID" ID="chkCheck" ToolTip='<%# Eval("DCLookup_Id") %>' runat="server" AutoPostBack="true" 
          OnCheckedChanged="chkCheck_CheckedChanged"/> 
        </td> 
        <%--<td id="colDCLookupId"> 
        <%# Eval("DCLookup_Id") %> 
       </td>--%> 
        <td> 
         <%# Eval("DCLookup_Value") %> 
        </td> 
       </ItemTemplate> 
       <EmptyDataTemplate> 
        No Records 
       </EmptyDataTemplate> 
      </asp:ListView> 

それは簡単に誰かのためではなく、私のために、私は2日から支出されている場合があります。

助けてください!ありがとう

+0

[jQueryダイアログ](https://jqueryui.com/dialog/#modal-confirmation)を見てください。それは確認/キャンセルのオプションがあります。 – VDWWD

答えて

0

「blnNeedpopup」と言うブール値を設定し、ポップアップが必要なときにのみtrueに設定することができます。

データソースを.DataBoundメソッドでlistviewにバインドするときに、blnNeedpopupがTRUEの場合にのみ、ONCLICKをcheckBox要素に追加できます。あなたの条件に応じて、ポップアップを取得することができます。

また、ユーザーが[OK]または[キャンセル]をクリックすると、単純なJQuery関数で処理できる代​​わりにポストバックを行う必要はありません。

関連する問題