2016-02-12 99 views
1

我有一個列表視圖,裏面有一個複選框。我想要發生的事情是 當我點擊過程按鈕,檢查項目 的值傳遞給標籤。使用複選框選擇列表視圖項目

Ex。輸出:1,2,3,4,5,6,7,8,9

這是我的HTML代碼。

<asp:ListView ID="ListView1" runat="server" DataKeyNames="CalendarDays" DataSourceID="sdsDays" GroupItemCount="7"> 


       <AlternatingItemTemplate> 
        <td> 
         <asp:CheckBox ID="CheckBox1" runat="server" /> 
        </td> 
        <td runat="server" style=""><%--CalendarDays:--%> 
         <asp:Label ID="CalendarDaysLabel" runat="server" Text='<%# Eval("CalendarDays") %>' /> 
         <br /> 
        </td> 
       </AlternatingItemTemplate> 
       <EditItemTemplate> 
        <td> 
         <asp:CheckBox ID="CheckBox1" runat="server" /> 
        </td> 
        <td runat="server" style=""><%--CalendarDays:--%> 
         <asp:Label ID="CalendarDaysLabel1" runat="server" Text='<%# Eval("CalendarDays") %>' /> 
         <br /> 
         <asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="Update" /> 
         <br /> 
         <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" /> 
         <br /> 
        </td> 
       </EditItemTemplate> 
       <EmptyDataTemplate> 
        <table runat="server" style=""> 
         <tr> 
          <td>No data was returned.</td> 
         </tr> 
        </table> 
       </EmptyDataTemplate> 
       <EmptyItemTemplate> 
        <td runat="server" /> 
       </EmptyItemTemplate> 
       <GroupTemplate> 
        <tr id="itemPlaceholderContainer" runat="server"> 
         <td id="itemPlaceholder" runat="server"></td> 
        </tr> 
       </GroupTemplate> 
       <InsertItemTemplate> 
        <td> 
         <asp:CheckBox ID="CheckBox1" runat="server" /> 
        </td> 
        <td runat="server" style=""><%--CalendarDays:--%> 
         <asp:TextBox ID="CalendarDaysTextBox" runat="server" Text='<%# Bind("CalendarDays") %>' /> 
         <br /> 
         <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" /> 
         <br /> 
         <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Clear" /> 
         <br /> 
        </td> 
       </InsertItemTemplate> 
       <ItemTemplate> 
        <td> 
         <asp:CheckBox ID="CheckBox1" runat="server" /> 
        </td> 
        <td runat="server" style=""><%--CalendarDays:--%> 
         <asp:Label ID="CalendarDaysLabel" runat="server" Text='<%# Eval("CalendarDays") %>' /> 
         <br /> 
        </td> 
       </ItemTemplate> 
       <LayoutTemplate> 
        <table runat="server"> 
         <tr runat="server"> 
          <td runat="server"> 
           <table id="groupPlaceholderContainer" runat="server" border="0" style=""> 
            <tr id="groupPlaceholder" runat="server"> 
            </tr> 
           </table> 
          </td> 
         </tr> 
         <tr runat="server"> 
          <td runat="server" style=""></td> 
         </tr> 
        </table> 
       </LayoutTemplate> 
       <SelectedItemTemplate> 
        <td> 
         <asp:CheckBox ID="CheckBox1" runat="server" /> 
        </td> 
        <td runat="server" style=""><%--CalendarDays:--%> 
         <asp:Label ID="CalendarDaysLabel" runat="server" Text='<%# Eval("CalendarDays") %>' /> 
         <br /> 
        </td> 
       </SelectedItemTemplate> 


     </asp:ListView> 

我試過在GridView

這是我的代碼

  string valueListDate = string.Empty; 
     int countDate = 0; 


     foreach (GridViewRow row in grdDay.Rows) 
     { 
      if ((row.FindControl("chkDate") as CheckBox).Checked) 
      { 
       string Dates = row.Cells[1].Text; 
      valueListDate += "" + Dates + ","; 
       countDate++; 
      } 
     } 


     if (countDate == 0) 
     { 
      System.Threading.Thread.Sleep(500); 
     } 

     else if (countDate == 1) 
     { 
      System.Threading.Thread.Sleep(500); 
      valueListDate = valueListDate.Substring(0, valueListDate.Length - 1); 

      lbldates.Text = valueListDate; 
     } 

     else 
     { 

      valueListDate = valueListDate.Substring(0, valueListDate.Length - 1); 
      lbldates.Text = valueListDate; 

     } 

     txtDate.Text = ddlSelectMonth.SelectedValue + " " + lbldates.Text + " " + DateTime.Now.Year.ToString(); 
     ModalPopupExtenderAFindings.Show(); 

它的工作,但我喜歡用一個列表視圖,因爲 我想選擇是這樣LISTVIEW 這gridview無法做到。

請大家幫忙。

+0

請別人更容易支持您通過指定更多的細節,例如你在ASP.NET中使用哪個框架? WebForms或MVC(添加適當的標籤)。 HTML的外觀如何?你想在哪裏進行處理?在服務器上或在JavaScript中的客戶端?你試過什麼了?添加代碼的相關部分。 – Markus

+0

嘿,你可以使用複選框列表,你可以指定重複的方向爲水平 –

回答

1

下面的代碼片段將幫助你..

<asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatDirection="Horizontal" RepeatColumns="3" RepeatLayout="Table"> 
    </asp:CheckBoxList> 

在代碼隱藏,你可以做到這一點

protected void btnProcess_click(object sender, EventArgs e) 
     { 
      foreach (ListItem item in CheckBoxList1.Items) 
      { 
       if (item.Selected) 
       { 
        lblDisplay.Text += item.Text + ","; 
       } 
      } 
     } 
+0

謝謝你的工作! :D – KevinNEWBIE

+0

歡迎您! –

相關問題