DataGrid数据绑定操作演示(调试通过)

本文介绍了一个投票主题管理系统的设计与实现,该系统使用ASP.NET和C#开发,具备投票主题的增删改查等功能。

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

.aspx代码
<asp:DataGrid id="voteShow" runat="server" AutoGenerateColumns="False" AllowPaging="True">
        <Columns>
         <asp:BoundColumn Visible="False" DataField="id" ReadOnly="True" HeaderText="主题ID"></asp:BoundColumn>
         <asp:BoundColumn DataField="title" HeaderText="投票主题"></asp:BoundColumn>
         <asp:BoundColumn DataField="date" ReadOnly="True" HeaderText="发布时间" DataFormatString="{0:yyyy-MM-dd}"></asp:BoundColumn>
         <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" HeaderText="修改" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
         <asp:ButtonColumn Text="&lt;div onclick=&quot;javascript:return confirm('确认删除')&quot;&gt;删除&lt;/div&gt;"
          HeaderText="删除" CommandName="Delete"></asp:ButtonColumn>
         <asp:HyperLinkColumn Text="投票选项" DataNavigateUrlField="id" DataNavigateUrlFormatString="voteInfo.aspx?id={0}"
          HeaderText="查看" NavigateUrl="voteInfo.aspx"></asp:HyperLinkColumn>
        </Columns>
        <PagerStyle Mode="NumericPages"></PagerStyle>
       </asp:DataGrid>

C#代码

                public OleDbConnection conn;//公用变量定义
  public DataSet ds;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   //初始化代码
   conn=new OleDbConnection();
   conn.ConnectionString=ConfigurationSettings.AppSettings["OleDbConnString"].ToString();
   conn.Open();
   if(Page.IsPostBack==false){
   voteDataBind();
   }
  }

private void voteDataBind(){//数据绑定
  string sql="select * from voteTitle order by date desc";
  OleDbDataAdapter cmd=new OleDbDataAdapter(sql,conn);
     ds=new DataSet();
  cmd.Fill(ds,"VoteTable");
   cmd.Dispose();
   if(ds.Tables["VoteTable"].Rows.Count>0)
   {
    voteShow.DataSource=ds;
    voteShow.DataMember="VoteTable";
    voteShow.DataBind();
   }
   else{
   noInfo.Text="当前没有投票主题";
   }
  }

  private void voteShow_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  {//编辑
   voteShow.EditItemIndex=e.Item.ItemIndex;
   voteDataBind();
  }

  private void voteShow_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  {//取消
   voteShow.EditItemIndex=-1;
   voteDataBind();
  }

  private void voteShow_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  {//更新
   //获得更新数据
   string title=((TextBox)(e.Item.Cells[1].Controls[0])).Text.Replace("'","").Trim();
   //Response.Write(title.ToString());
   //Response.Write((((TextBox)(e.Item.Cells[0].Controls[0])).Text));
   //Response.End();
   //int id=Int32.Parse((((TextBox)(e.Item.Cells[0].Controls[0])).Text));
   int id=Int32.Parse(e.Item.Cells[0].Text);
   
   //开始更新数据
   if(title.ToString()==""){
    Response.Write("<script>alert('您输入的数据有错误!');</script>");
    voteShow.EditItemIndex=-1;
    voteDataBind();
   }
   else
   {
    string sql="Update voteTitle set title='"+title.ToString()+"' where id="+Int32.Parse(id.ToString());
    OleDbCommand cmd=new OleDbCommand(sql,conn);
    try
    {
     cmd.ExecuteNonQuery();
     Response.Write("<script>alert('投票主题修改成功')</script>");
    }
    catch{
    Response.Write("<script>alert('投票主题修改失败')</script>");
    }
    cmd.Dispose();
    voteShow.EditItemIndex=-1;
    voteDataBind();
   }
  }

  private void voteShow_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
  {//分页
   voteShow.CurrentPageIndex=e.NewPageIndex;
   voteDataBind();
  }

  private void addVoteTitle_Click(object sender, System.EventArgs e)
  {//添加
   if(Page.IsValid==true&&voteTitle.Text!="")
   {
    
    string VoteTitle;
    VoteTitle=voteTitle.Text.Replace("'","").Trim();
    int VoteType;
    VoteType=Int32.Parse(voteType.SelectedItem.Value);
    if (VoteTitle.ToString()=="")
    {
     Response.Write("<script>alert('您输入的数据有错误!');</script>");
     voteTitle.Text="";
    }
    else
    {
     //判断是否存在同一主题
     bool voteFlag=false;
     OleDbCommand cmd=new OleDbCommand();
     cmd.Connection=conn;
     cmd.CommandType=CommandType.Text;
     cmd.CommandText="select * from voteTitle where title='"+VoteTitle.ToString()+"'";    
     OleDbDataReader dr= cmd.ExecuteReader();
     if (dr.HasRows==true)
     {
      voteFlag=true;     
     }
     dr.Close();
     cmd.Dispose();
     //执行
     if (voteFlag==true)
     {
      Response.Write("<script>alert('此投票主题已存在!');</script>");
      voteTitle.Text="";
     }
     else
     {
      OleDbCommand cmd2=new OleDbCommand();
      cmd2.Connection=conn;
      cmd2.CommandType=CommandType.Text;
      cmd2.CommandText="insert into voteTitle(title,type)values('"+VoteTitle.ToString()+"',"+VoteType.ToString()+")";
      try
      {
       cmd2.ExecuteNonQuery();
       Response.Write("<script>alert('投票主题添加成功!');</script>");
       voteTitle.Text="";
      }
      catch(Exception ex)
      {
       Response.Write("<script>alert('投票主题添加失败!');</script>");
       //Response.Write(ex.ToString());
       //Response.End();
       voteTitle.Text="";
      }
      cmd2.Dispose();
     }
     voteDataBind();
    }
   }
   else{
   Response.Write("<script>alert('您输入的数据不能为空!');</script>");
   }
  }

  private void voteShow_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  {//删除
   //获得要删除的ID
   int id=Int32.Parse(e.Item.Cells[0].Text);
   //执行删除操作
   OleDbCommand cmd=new OleDbCommand();
   cmd.CommandType=CommandType.Text;
   cmd.CommandText="delete * from voteTitle where id="+Int32.Parse(id.ToString());
   cmd.Connection=conn;
   try
   {
    cmd.ExecuteNonQuery();
    Response.Write("<script>alert('投票主题删除成功!');</script>");
   }
   catch{
   Response.Write("<script>alert('投票主题删除失败!');</script>");
   }
   cmd.Dispose();
   voteDataBind();
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值