2010-12-16 37 views
0

我有一個包含應用程序名稱的Listview。可以選擇多個項目。現在取決於所做的選擇數量,我必須在單獨的列表視圖中列出所有相關的測試用例(每個選擇的列表視圖爲1個)。使用複選框在運行時創建列表視圖(動態)

此外,測試用例應該以複選框格式顯示在列表視圖中。

所以我覺得取決於沒有。所做的選擇,我需要在運行時創建列表視圖(動態),然後用測試用例填充它們,這些測試用例需要處於複選框格式。

但我堅持就如何創建動態列表視圖並填寫up.I我不是一個非常有經驗的編碼器。

REQ的文檔是這樣

  • 一旦用戶選擇如圖中 附PIC與該應用程序相關聯的所有測試用例的表獲取顯示的應用程序。
  • 如果用戶選中與應用程序名稱對應的複選框,則所有測試用例都將被選中。
  • 否則,他可以通過選中測試用例旁邊的複選框來選擇特定的測試用例。

我的代碼爲1列表框選擇如下,並工作。但是在這裏,我在設計時就擁有了listview,因爲只有一個選擇可以做出。這個變化現在我有多重選擇。

ASPX頁面包含以下代碼:

<asp:Panel runat="server"> 
    <asp:CheckBox runat="server" AutoPostBack="True" Text="Select All"  Visible="false"/> 
      <asp:ListView runat="server" > 
      <LayoutTemplate> 
      <table border="1" > 
       <tr runat="server"> 
       </tr> 
      </table> 
     </LayoutTemplate> 
     <ItemTemplate> 
     <tr id="Tr1" style="font-size: small"> 
     <td> 
        <asp:CheckBox runat="server" Text='<%#Eval("TestCaseName")   %>' Value='<%# Eval("TestCaseID") %>'> 

        </asp:CheckBox> 
        </td> 
        </tr> 
     </ItemTemplate> 
     </asp:ListView> 
     </asp:Panel> 



    protected void lbSelectApplications_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     int cobrandId = Convert.ToInt32(ddlSelectCobrand.SelectedValue); 
     int appid = Convert.ToInt32(lbSelectApplications.SelectedValue); 
     if (appid != -1 && cobrandId != -1) 
     { 
      BusinessLogicLayer.BusinessLogic obj = new BusinessLogicLayer.BusinessLogic(); 
      testcasedataset= obj.GetActiveTestcasesForSpecificCObrandedApplication(appid, cobrandId); 
      listView2.DataSource = testcasedataset.Tables[0]; 
     listView2.DataBind(); 
     listView2.Visible = true; 
     chkall.Text = lbSelectApplications.SelectedItem.Text.ToString(); 
     chkall.Visible = true; 
     for (int i = 0; i < testcases.Tables.Count; i++) 
     { 
      ListView lv = new ListView(); 
      //here dynamic creation of listview code should go 

     } 

     protected void chkall_CheckedChanged(object sender, EventArgs e) 
{ 

    for (int i = 0; i < listView2.Items.Count; i++) 
    { 

     CheckBox chk = (CheckBox)listView2.Items[i].FindControl("chkTest"); 

     if (chkall.Checked == true) 
     { 

      chk.Checked = true; 

     } 

     else 
     { 

      chk.Checked = false; 

     } 

    } 

} 


    } 

回答

相關問題