Field's Space

.NET技术学习

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
例子如下:

初始代码如下:
 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");//能不能不要是直接加载本页面?
这一句,没有办法看出没有删除(看了数据库才知道!)

有没有办法说不用跳转加本页,一样可以直接看到是否有删除?
posted on 2006-07-17 17:51  Field  阅读(379)  评论(1编辑  收藏  举报