惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
V
V2EX
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
有赞技术团队
有赞技术团队
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
月光博客
月光博客
爱范儿
爱范儿
D
Docker
U
Unit 42
P
Proofpoint News Feed
I
InfoQ
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
L
LangChain Blog
V
Visual Studio Blog
IT之家
IT之家
Vercel News
Vercel News
G
Google Developers Blog
M
MIT News - Artificial intelligence
美团技术团队
The GitHub Blog
The GitHub Blog
阮一峰的网络日志
阮一峰的网络日志
MyScale Blog
MyScale Blog

博客园 - Field

MySQL 乱码问题相关资料汇集 Mssql简单连接类 php+ajax实现市县下拉框联动的简单代码 - Field - 博客园 超强PHP分页类(转自PHPCHINA) 总算把数据库导入的问题解决了.... ASP分页代码的学习 - Field - 博客园 用函数式编程技术编写优美的 JavaScript 第三代搜索引擎初探:智能化、个性化 分享个极好的无刷新二级联动下拉列表,同样适用与firefox (转载) - Field - 博客园 12个.net 开发者值得去读的国外Blog 关于改变DataGrid列里面的值 关于DataGrid中字符串长度的设置 关于Asp.Net中的返回的操作 javascript常用到的一些方法 DataGrid使用心得 - Field - 博客园 构建 WPF 数独游戏第一部分:WPF 和 XAML 简介 C#正则表达式小结 ASP.NET程序中常用代码汇总 DataList Web 服务器控件
关于DataGrid删除的一点点小问题?
Field · 2006-07-17 · via 博客园 - Field

例子如下:

初始代码如下:

 1protected System.Web.UI.WebControls.DataGrid DataGrid1;
 2        private DataSet ds = new DataSet();
 3    
 4        private void Page_Load(object sender, System.EventArgs e)
 5        {
 6            // 在此处放置用户代码以初始化页面
 7            if(!this.IsPostBack)
 8            {
 9                string strConnection = ConfigurationSettings.AppSettings["ConnectionString"].ToString();
10                SqlConnection myConnection = new SqlConnection(strConnection);
11                SqlDataAdapter myAdapter = new SqlDataAdapter("SELECT CategoryID,CategoryName, Description FROM Categories",myConnection);
12                myAdapter.Fill(ds);
13                this.DataGrid1.DataSource = ds.Tables[0].DefaultView;
14                this.DataGrid1.DataKeyField = "CategoryID";
15                this.DataGrid1.DataBind();
16            }

17

有关删除的代码如下:

 1private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
 2        {
 3            if(e.Item.ItemIndex!=-1)
 4            {
 5                e.Item.Cells[1].Text=Convert.ToString((e.Item.ItemIndex+1));
 6            }

 7
 8            switch(e.Item.ItemType)
 9            {
10                case ListItemType.Item:
11                case ListItemType.AlternatingItem:
12                case ListItemType.EditItem:
13                {
14                    Button btn = (Button)e.Item.FindControl("btnDelete");
15                    btn.Attributes.Add("onclick""return confirm('你是否确定删除这条记录');");
16                    break;
17                }

18            }

19        }

20
21        private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
22        {
23            if(e.CommandName == "Delete")
24            {
25                this.DeleteRow(this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString());
26            }

27            Response.Redirect("WebForm1.aspx");//能不能不要是直接加载本页面?
28        }

29
30        private void DeleteRow(string i)
31        {
32            string strConnection = ConfigurationSettings.AppSettings["ConnectionString"].ToString();
33            SqlConnection myConnection = new SqlConnection(strConnection);
34            SqlCommand cmd = new SqlCommand("DELETE FROM Categories WHERE (CategoryID = "+i+")",myConnection);
35            myConnection.Open();
36            cmd.ExecuteNonQuery();
37            myConnection.Close();
38        }

39

前台代码如下:

 1<body MS_POSITIONING="GridLayout">
 2        <form id="Form1" method="post" runat="server">
 3            <FONT face="宋体">
 4                <asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 48px; POSITION: absolute; TOP: 88px" runat="server"
 5                    Width="632px">
 6                    <Columns>
 7                        <asp:TemplateColumn HeaderText="删除">
 8                            <HeaderTemplate>
 9                                删除
10                            </HeaderTemplate>
11                            <ItemTemplate>
12                                <asp:Button id="btnDelete" runat="server" CommandName="Delete" Text="Delete"></asp:Button>
13                            </ItemTemplate>
14                        </asp:TemplateColumn>
15                        <asp:TemplateColumn HeaderText="序号"></asp:TemplateColumn>
16                    </Columns>
17                </asp:DataGrid></FONT>
18        </form>
19    </body>

在这里要是没有添加:

Response.Redirect("WebForm1.aspx");//能不能不要是直接加载本页面?

这一句,没有办法看出没有删除(看了数据库才知道!)

有没有办法说不用跳转加本页,一样可以直接看到是否有删除?