C# Asp.Net中gridview中自带的删除按钮怎么用

每次在运行时,点击表框旁边的“删除”,就回提示“至少一个参数没有被指定值”... 每次在运行时,点击表框旁边的“删除”,就回提示“
至少一个参数没有被指定值
展开
 我来答
Ps脸粉粉
2013-12-03 · TA获得超过1563个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:114万
展开全部

楼主你好:

GridView选中,编辑,取消,删除:

效果图:

后台代码:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{


    SqlConnection sqlcon;
   SqlCommand sqlcom;
   string strCon = "Data Source=(local);Database=数据库名;Uid=帐号;Pwd=密码";
   protected void Page_Load(object sender, EventArgs e)
   {
       if (!IsPostBack)
       {
           bind();
       }
   }
   protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
   {
       GridView1.EditIndex = e.NewEditIndex;
       bind();
   }

//删除
   protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
   {
       string sqlstr = "delete from 表 where id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
       sqlcon = new SqlConnection(strCon);
       sqlcom = new SqlCommand(sqlstr,sqlcon);
       sqlcon.Open();
       sqlcom.ExecuteNonQuery();
       sqlcon.Close();
       bind();
   }

//更新
   protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
   {
       sqlcon = new SqlConnection(strCon);
       string sqlstr = "update 表 set 字段1='"
           + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',字段2='"
           + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',字段3='"
           + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "' where id='"
           + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
       sqlcom=new SqlCommand(sqlstr,sqlcon);
       sqlcon.Open();
       sqlcom.ExecuteNonQuery();
       sqlcon.Close();
       GridView1.EditIndex = -1;
       bind();
   }

//取消
   protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
   {
       GridView1.EditIndex = -1;
       bind();
   }

//绑定
   public void bind()
   {
       string sqlstr = "select * from 表";
       sqlcon = new SqlConnection(strCon);
       SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
       DataSet myds = new DataSet();
       sqlcon.Open();
       myda.Fill(myds, "表");
       GridView1.DataSource = myds;
       GridView1.DataKeyNames = new string[] { "id" };//主键
       GridView1.DataBind();
       sqlcon.Close();
   }
}

前台主要代码:
                           ... ...
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
                       ForeColor="#333333" GridLines="None" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing"
                       OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit">
                       <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
                       <Columns>
                           <asp:BoundField DataField="身份证号码" HeaderText="用户ID" ReadOnly="True" />
                           <asp:BoundField DataField="姓名" HeaderText="用户姓名" />
                           <asp:BoundField DataField="员工性别" HeaderText="性别" />
                           <asp:BoundField DataField="家庭住址" HeaderText="家庭住址" />
                           <asp:CommandField HeaderText="选择" ShowSelectButton="True" />
                           <asp:CommandField HeaderText="编辑" ShowEditButton="True" />
                           <asp:CommandField HeaderText="删除" ShowDeleteButton="True" />
                       </Columns>
                       <RowStyle ForeColor="#000066" />
                       <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
                       <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
                       <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
                   </asp:GridView>

 

 

希望对你有帮助,望采纳,谢谢

追问
非常感谢。还有点小问题,就是,我用的是Access数据库,建表的时候,没有需要提供“用户名”和“密码”。但是如果我不写这个字段的话,会提示“
该用户与可信 SQL Server 连接无关联
”。
追答
这种问题自己上网一搜一大堆,如果都要写出来给你,你最后根本学不到的,你搜一搜C#中Access数据库链接串,自己多动手,希望你进步很快。
遥远的守望
2013-12-02 · 超过48用户采纳过TA的回答
知道小有建树答主
回答量:355
采纳率:0%
帮助的人:149万
展开全部

需要在配置数据源是选择高级  生成INSERT 、UPDATE、DELETE语句

然后删除才有效

追问
已经生成了,运行的时候还是会出现“至少一个参数没有被指定值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
紫枫影剧
2013-12-02 · 每个人的人生经历都会为影视剧延伸出
紫枫影剧
采纳数:114 获赞数:575

向TA提问 私信TA
展开全部
这个删除是要写一个方法的。然后在方法里有一个e.什么的参数传递,再获取gridview中的当选的key值才能正确删除的。要不然肯定会报错的。
追问
方法的语句怎么写呢,求给个例子啊。小弟新手,菜鸟都算不上的。多谢多谢
追答

这个不是一下讲的清楚的,我只告诉你大概自己去琢磨啊。你要编辑gridview添加删除的按钮,然后鼠标右键gridview属性里,找到事件双击进去把要补充的代码加上的。

图片自己看看

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冷雪怡11
2013-12-02 · 超过11用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:33.6万
展开全部
需要为GridView的删除写一个方法,也可以不用自带的自己写一个,表示一般都自己写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式