如何迴圈並通過使用 ASP.NET 和 VisualC # .NET 檢查 DataGrid 列中 CheckBox 控制項值

來源:互聯網
上載者:User

通過使用 VisualC # .NET 建立 ASP.NETWeb 應用程式
1. 啟動 MicrosoftVisualStudio.NET。
2. 在 檔案 菜單, 指向 建立 , 然後單擊 項目 。
3. 在 建立項目 對話方塊中, 單擊 ProjectTypes@@ , 下 VisualC # 項目 , 然後單擊 模板 下 ASP.NETWebApplication@@@ 。
4. 在 位置 框中, 替換 WebApplication # # 預設名稱與 MyWebApp 。 如果您使用本機伺服器, 您可以保留伺服器名稱 http://localhost 。 結果 位置 框中顯示如下:
http://localhost/MyWebApp 
建立樣本 Web Form頁
1. 向 ASP.NETWeb 應用程式添加新 Web Form如下:a.  右擊項目節點在 SolutionExplorer@@, 指向 添加 , 並單擊 添加 Web Form 。
b.  在 名稱 框中, 鍵入 MySample.aspx , 然後單擊 開啟 。
 
2. 在屬性視窗, 用於文檔 pageLayout 屬性更改為 FlowLayout 。 儘管您不必這樣做要使用範例程式碼, 這將使簡報出現清洗。
3. 如下添加到頁: DataGrid 、 按鈕 和 Label 伺服器控制項a.  將 ASP.NET DataGrid 伺服器控制項從 WebForms 工具箱拖到頁。
b.  在屬性視窗, 將 DataGrid 控制項的 ID 更改為 DemoGrid 。
c.  將 Button ASP.NET 伺服器控制項從 WebForms 工具箱拖到頁下面 DataGrid 。
d.  在屬性視窗, GetSelections , 變為 Button 控制項的 ID 並然後將 Text 屬性更改為 Get 選項 。
e.  將 標籤 ASP.NET 伺服器控制項從 WebForms 工具箱拖到頁下面 Button 控制項。
f.  在屬性視窗, ResultsInfo , 變為 Label 控制項的 ID 並刪除 Text 屬性中的文字。
 
4. 切換到 HTML 視圖編輯器中。 將代碼添加到預設 DataGrid 模板來構造列。 結果代碼對控制項應顯示如下:
<asp:DataGrid id="DemoGrid" runat="server" DataKeyField="CustomerID">
 <Columns>
 <asp:TemplateColumn HeaderText="Customer">
 <ItemTemplate>
 <asp:CheckBox ID="myCheckbox" Runat="server" />
 </ItemTemplate>
 </asp:TemplateColumn>
 </Columns>
</asp:DataGrid>
5. 按右鍵該頁, 然後單擊 查看代碼 。 這在編輯器中開啟程式碼後置類別檔案。 添加下列命名空間引用到程式碼後置類別檔案:
using System.Data.SqlClient;
using System.Text;
6. 用以下代碼替換現有代碼為 Page _ Load 事件處理常式:

private void Page_Load(object sender, System.EventArgs e)
{
 if(!IsPostBack)
 {
  //Create a SqlConnection object.
  //Modify the connection string as necessary for your environment.
  SqlConnection cn = new SqlConnection("Server=localhost;database=Northwind;UID=sa;PWD=");
   
  SqlCommand cmd = new SqlCommand("SELECT * FROM Customers",cn);
  cn.Open();
  SqlDataReader reader = cmd.ExecuteReader();
  DemoGrid.DataSource = reader;
  DataBind();
  reader.Close();
  cn.Close();
 }

}
7. 切換到設計檢視, 並雙擊 GetSelections 。 這在編輯器中開啟程式碼後置類別檔案。 用以下代碼替換現有代碼 GetSelections_Click 事件處理常式中:
private void GetSelections_Click(object sender, System.EventArgs e)
{
 int rowCount = 0;
 StringBuilder gridSelections = new StringBuilder();

 //Loop through each DataGridItem, and determine which CheckBox controls
 //have been selected.
 foreach(DataGridItem DemoGridItem in DemoGrid.Items)
 {
  CheckBox myCheckbox = (CheckBox)DemoGridItem.Cells[0].Controls[1];
  if(myCheckbox.Checked == true)
  {
   rowCount++;
   gridSelections.AppendFormat("The checkbox for {0} was selected<br>",
      DemoGrid.DataKeys[DemoGridItem.ItemIndex].ToString());
  }
 }
 gridSelections.Append("<hr>");

 gridSelections.AppendFormat("Total number selected is: {0}", rowCount.ToString());
 ResultsInfo.Text = gridSelections.ToString(); 

驗證它工作
1. 在 檔案 菜單上, 單擊 全部儲存 以儲存 Web Form和其他檔案與項目相關聯。
2. 在 VisualStudio.NET 整合式開發環境 (IDE), 中 產生 菜單上單擊 產生解決方案 。
3. 在 SolutionExplorer@@, 右擊 WebForm 頁 ( MySample.aspx ), 並然後單擊 在瀏覽器查看 。 請注意, 網格中顯示資料頁。 此外, 首列中的每一行出現一個複選框。 使用者可以單擊以選中此複選框來標記特定行。
4. 單擊以選中幾個複選框的行, 然後單擊 擷取選項 。

頁向伺服器進行往返行程並 GetSelections_Click 事件處理常式, 中執行代碼後, 您上一步中選定項的列表顯示。 GetSelections_Click 事件處理迴圈通過 ASP.NET DataGrid 伺服器控制項, 中各個 DataGridItem 中代碼確定相關 CheckBox 控制項的 Checked 屬性為 true , 並然後記錄關聯索引值在該特定位置對於 DataKeys 是 DataGrid 。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.