ASP.NET基础教程-DataGrid表格控件-利用模板列中显示检索的数据
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://chenxing.blog.51cto.com/240526/45654 |
一、表格设置
1、在页面上添加一个按钮控件,ID设置为:“SELECT_DATA”,TEXT属性设置为:“提取数据” 2、在页面上添加一个DataGrid表格控件,给表格添加一个绑定列,页眉文本为“部门”,绑定字段为“dept”,一个模板列,页眉文本为“显示部门” 3、编辑模板列:在ItemTemplate项中添加两个按钮,按钮的Text属性分别为“人员清单”和“隐藏”,按钮的ID属性分别为:“select”和“cancel”, 其中“人员清单” 按钮的CommandName属性设置为:“select”. ![]() 二、CS代码 本文出自 51CTO.COM技术博客1、//页面初始化代码 public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.DataGrid DataGrid1; protected System.Web.UI.WebControls.Button SELECT_DATA ; private static SqlConnection con; private static SqlDataAdapter da; private static DataSet ds; private static DataView dv; private void Page_Load(object sender, System.EventArgs e) { //防止页面重复加载 if(!IsPostBack) { //创建数据库连接 con=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["server"]); } } 2、//提取数据按钮单击事件代码 private void SELECT_DATA _Click(object sender, System.EventArgs e) { //打开数据库 con.Open(); //从数据库中提取部门数据 da=new SqlDataAdapter("select dept from dept",con); //创建记录集对象 ds=new DataSet(); //将数据库中提取出的数据加载到记录集中,并设置表的别名为DEPT da.Fill(ds,"dept"); //从数据库中提取人员清单数据 da=new SqlDataAdapter("select userid,name,level,station,dept from verifya",con); //将数据库中提取出的数据加载到记录集中,并设置表的别名为VERIFY da.Fill(ds,"verify"); //关闭数据库 con.Close(); //将部门表作为表格的数据源 DataGrid1.DataSource=ds.Tables["dept"]; //绑定数据 DataGrid1.DataBind(); } 3、单击人员清单按钮后调用表格的ItemCommand事件,根据点击行的部门提取人员清单 private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { //判断点击的按钮是不是人员清单按钮 if(e.CommandName=="select") { //获取数据视图对象的数据源 dv=new DataView(ds.Tables["verify"]); //设置过滤条件 dv.RowFilter="dept='"+e.Item.Cells[0].Text.ToString()+"'"; //将数据视图对象作为模板列中表格的数据源 ((DataGrid)e.Item.FindControl("DataGrid2")).DataSource=dv; //模板列中的表格绑定数据 ((DataGrid)e.Item.FindControl("DataGrid2")).DataBind(); //将模板列中的表格在页面上显示出来 ((Button)e.Item.FindControl("cancel")).Visible=true; } else { //将模板列中的表格数据源清空 ((DataGrid)e.Item.FindControl("DataGrid2")).DataSource=""; //重新绑定 ((DataGrid)e.Item.FindControl("DataGrid2")).DataBind(); //隐藏模板列中的表格 ((Button)e.Item.FindControl("cancel")).Visible=false; } } ![]() |




晨星
博客统计信息
热门文章
最新评论
友情链接

