ASP.net页面基础构建

本文介绍了一个基于DataGrid的数据操作和管理系统,包括数据绑定、分页处理、排序、更新及删除等功能实现的方法。通过具体代码示例展示了如何利用DataGrid进行高效的数据管理和交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//首先需要将控件的AutoPostBack属性设置成True,这样当选定内容更改后,自动回发到服务器
//数据绑定

  private void selEmp_Adversaria()
  {
   string sql="select * from Emp_Adversaria";
   EquipmentData ed=new EquipmentData();
   this.DataGrid.DataSource=ed.SeleView(sql,"Emp_Adversaria"); //查询视图返回数据源给DataGrid
   this.DataGrid.DataBind();   //DataGrid数据绑定
  }
  //获取下拉列表页面数
  private void DlistPageCount()
  {
   dlistpages.Items.Clear();
   
   for(int i=0;i<DataGrid.PageCount;i++)
   {
    dlistpages.Items.Add((i+1).ToString());
    if(i==DataGrid.CurrentPageIndex)
    {
     dlistpages.Items[i].Selected=true;
    }
   }
  }  
  //显示分页状态
  private void ShowStatus()
  {   
   //显示页面信息
   lblCurPage.Text = "当前页数为: " + ((int)DataGrid.CurrentPageIndex+1);
   lblCurCount.Text = "总页数是: " + DataGrid.PageCount;
   lblCounts.Text="每页 ";
   lblOther.Text=" 条记录 转到:";
  }
//页模式改变
private void PageMode_SelectedIndexChanged(object sender, System.EventArgs e)
  {
   if(PageMode.SelectedValue== "1")
   {
    DataGrid.PagerStyle.Mode = PagerMode.NumericPages;
   }
   else if(PageMode.SelectedValue== "2")
   {
    DataGrid.PagerStyle.Mode = PagerMode.NextPrev;
    DataGrid.PagerStyle.PrevPageText = "上一页";
    DataGrid.PagerStyle.NextPageText = "下一页";
   }
  
            selEmp_Adversaria();
   DlistPageCount();
   ShowStatus();

  }
//页大小改变
private void Pagesize_TextChanged(object sender, System.EventArgs e)
  {
   if(System.Convert.ToInt16(txtPagesize.Text)<1)
   {
    txtPagesize.Text = "1";
   }
   DataGrid.PageSize=System.Convert.ToInt16(txtPagesize.Text);
   DataGrid.CurrentPageIndex=0;
  

      selEmp_Adversaria();

   DlistPageCount();
   ShowStatus();

  }
//下拉页改变
private void dlistpages_SelectedIndexChanged(object sender, System.EventArgs e)
  {
   DataGrid.CurrentPageIndex=System.Convert.ToInt16(dlistpages.SelectedItem.Text)-1;
   
   //   equipmentbinder();
  
            selEmp_Adversaria();
   DlistPageCount();
   ShowStatus();
  }
//DataGird页索引改变后触发事件
private void DataGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
  {
   DataGrid.CurrentPageIndex=e.NewPageIndex;
   DlistPageCount();
  
          selEmp_Adversaria();
         
    ShowStatus();
  }
/////////////更改DataGrid中相应的内容
//先编辑模板->修改;设置修改的属性CommandName为update;最后使用DataGrid的UpdateCommand事件
private void DataGrid_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  {
   Response.Redirect("BigEvent_ManageAdd.aspx?id="+ e.Item.Cells[0].Text +"");
  }
/////////////删除DataGird中选中的内容,delid是DataGrid模板->删除的(id):delid
private void btdel2_Click(object sender, System.EventArgs e)
  {
   EquipmentData ED=new  EquipmentData();
   string delNo = Request["delid"];   
  
   string strSql = "";   
 
   try
   {
    if (delNo!=null)
    {
     strSql = "Delete from Emp_Adversaria where id in("+ delNo +")";
     if(ED.zhenchangai(strSql))
     {
      DataGrid.CurrentPageIndex=0;
                         selEmp_Adversaria();
      //equipmentbinders();
      DlistPageCount();
      ShowStatus();
      Response.Write("<script language=/"javascript/">alert(/"删除成功!

/");</script>");
     }
     else
     {
      Response.Write("<script language=/"javascript/">alert(/"删除失败!

/");</script>");
     }
     
    }
    else
    {
     Response.Write("<script language=/"javascript/">alert(/"请先选择要删除的记录!

/");</script>");
    }
   }
   finally
   {
     
   } 
  
  }
/////////////排序DataGird中的内容
private void DataGrid_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
  {
   string sql="";

   if(ViewState["sort"]==null)
   {
    ViewState["sort"]="ASC";
   }
   else
   {
    if(ViewState["sort"].ToString()=="ASC")
    {
     ViewState["sort"]="DESC";
    }
    else
    {
     ViewState["sort"]="ASC";
    }
   }
   SqlConnection conn =new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings

["ConnectionString"]);
   conn.Open();

   if(this.time1.Date.Trim()!=""&&this.time2.Date.Trim()!="")
   {
    sql="select * from Emp_Adversaria where e_Time>='"+ this.time1.Date +"' and e_Time<='"+

this.time2.Date +"'";
   }
   if(this.time1.Date.Trim()!=""&&this.time2.Date.Trim()=="")
   {
    sql="select * from Emp_Adversaria where e_Time>='"+ this.time1.Date +"'";
   }
   if(this.time1.Date.Trim()==""&&this.time2.Date.Trim()!="")
   {
    sql="select * from Emp_Adversaria where e_Time<='"+ this.time2.Date +"'";
   }
   if(this.time1.Date.Trim()==""&&this.time2.Date.Trim()=="")
   {
    sql="select * from Emp_Adversaria";
   }


   try
   {
   
    //查找类型与AreaSB表TypeID匹配的条件
    SqlDataAdapter sda = new SqlDataAdapter(sql,conn);
    System.Data.DataSet ds = new System.Data.DataSet();
    sda.Fill(ds,"Emp_Adversaria");
    //设置排序表达式
    ds.Tables["Emp_Adversaria"].DefaultView.Sort=e.SortExpression+" "+ViewState

["sort"].ToString();
    this.DataGrid.DataSource=ds.Tables["Emp_Adversaria"].DefaultView;
    this.DataGrid.DataBind(); 
    
   }
   catch(Exception ex)
   {
    conn.Close();
   
    throw new ApplicationException(ex.Message);
   }
   conn.Close();
  } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值