⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testcheckbox.aspx.cs

📁 ASP C#代码实例 适合初学人士学习使用
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Example_12_5.ColumnTemplates;

namespace Example_12_5
{
	/// <summary>
	/// TestCheckBox 的摘要说明。
	/// </summary>
	public class TestCheckBox : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Label CheckMsg;
		protected System.Web.UI.WebControls.Button ShowMsg;
		protected System.Web.UI.WebControls.DataGrid myDataGrid;
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			AddColumnToDataGrid();					
			BindData();
		}

		private DataTable CreateDataSource()
		{
			///创建数据表及其列
			DataTable dataTable = new DataTable("MyData");
			dataTable.Columns.Add(new DataColumn("Name",typeof(string)));
			dataTable.Columns.Add(new DataColumn("Type",typeof(string)));
			dataTable.Columns.Add(new DataColumn("Data",typeof(string)));
			dataTable.Columns.Add(new DataColumn("Boolean",typeof(bool)));

			///添加五行数据
			for(int i = 0; i < 5; i++)
			{
				///添加一行数据
				DataRow row = dataTable.NewRow();
				foreach(DataColumn column in dataTable.Columns)
				{	
					///添加CheckBox控件的数据
					if(column.DataType == typeof(bool))
					{
						row[column] = (i % 2 == 0) ? true:false;
					}
					else
					{   ///添加其他列的数据
						row[column] = column.ColumnName + i.ToString();
					}
				}
				dataTable.Rows.Add(row);
			}
			///返回创建的数据表
			return(dataTable);
		}

		private void AddColumnToDataGrid()
		{
			///添加一列复选框
			CheckBoxColumn checkCol = new CheckBoxColumn(true,"MyBox");
			checkCol.DataField = "Boolean";
			checkCol.HeaderText = "复选框";

			///添加复选框的事件
			checkCol.CheckedChanged += new EventHandler(checkCol_CheckedChanged);

			///添加到myDataGrid控件中
			myDataGrid.Columns.Add(checkCol);
		}

		private void BindData()
		{
			///绑定myDataGrid控件的数据
			myDataGrid.DataSource = CreateDataSource();
			myDataGrid.DataBind();
		}

		private void checkCol_CheckedChanged(object sender,EventArgs e)
		{
			///设置CheckBox控件的事件
			CheckMsg.Text = "";
			CheckBox box = (CheckBox) sender;
			if(box.Checked == true)
			{
				///获取选择的CheckBox控件所在的DataGridItem
				DataGridItem container = (DataGridItem) box.NamingContainer;

				///获取每列的值
				GetString(container,CheckMsg,"Name");
				GetString(container,CheckMsg,"Type");
				GetString(container,CheckMsg,"Data");
			}
		}


		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.ShowMsg.Click += new System.EventHandler(this.ShowMsg_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		private void ShowMsg_Click(object sender, System.EventArgs e)
		{
			CheckMsg.Text = "";
			foreach(DataGridItem container in myDataGrid.Items)
			{   ///获取每列的值
				CheckBox cBox = (CheckBox)container.FindControl("MyBox");
				if(cBox != null)
				{
					if(cBox.Checked == true)
					{   ///获取选中列的值
						GetString(container,CheckMsg,"Name");
						GetString(container,CheckMsg,"Type");
						GetString(container,CheckMsg,"Data");
					}
				}
			}
		}

		private void GetString(DataGridItem container,Label CheckMsg,String Name)
		{   ///获取单个列的值
			Label tempLabel = (Label)container.FindControl(Name);
			if(tempLabel != null)
			{
				CheckMsg.Text += tempLabel.Text;
			}
		}

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -