学习

chouer

  博客中心 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 登录 ::
  2 随笔 :: 948 文章 :: 8 评论 :: 0 Trackbacks
Cached @ 2025/4/28 15:28:47Control ASP.skins_cogitation_controls_blogstats_ascx
<2025年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

News

留言簿(0)

随笔档案

文章分类

文章档案

搜索

最新评论

  • 1. SAP资料下载
  • SAP下载网,
    SAP资料共享网站,完全免费
    资料全由网友共享,大家共享,大家下载
  • --SAP99

阅读排行榜

评论排行榜

Cached @ 2025/4/28 15:28:47Control ASP.skins_cogitation_controls_singlecolumn_ascx

DataGrid控件中實現對某一項得編輯,取消編輯,保存新得內容,實現這樣得功能是在DataGrid控件中的按鈕列中有一種編輯,更新,取消類型,3個按鈕分別觸發DataGrid控件的EditCommand,UpDateCommand以及CanelCommand事件,從而可以完成對指定項的編輯,更新和取消編輯的功能.

前台代碼為:

<body MS_POSITIONING="GridLayout">

          <form id="Form1" method="post" runat="server">

               <FONT face="新細明體">

                    <asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 120px; POSITION: absolute; TOP: 120px"

                         runat="server" Width="592px" Height="120px" AutoGenerateColumns="False" DataKeyField="id">

                         <Columns>

                              <asp:TemplateColumn HeaderText="中文姓名">

                                   <HeaderStyle Width="150px"></HeaderStyle>

                                   <ItemTemplate>

                                        <asp:Label id=Label1 runat="server" Height="8px" Width="160px" Text='<%# DataBinder.Eval(Container, "DataItem.中文姓名") %>'>

                                        </asp:Label>

                                   </ItemTemplate>

                              </asp:TemplateColumn>

                              <asp:TemplateColumn HeaderText="NT">

                                   <HeaderStyle Width="150px"></HeaderStyle>

                                   <ItemTemplate>

                                        <asp:DropDownList id=DropDownList1 runat="server" Height="32px" Width="128px" DataSource="<%#BindTheTitle()%>" DataTextField="nt" DataValueField="nt">

                                        </asp:DropDownList>

                                   </ItemTemplate>

                              </asp:TemplateColumn>

                              <asp:TemplateColumn HeaderText="部門名稱">

                                   <ItemTemplate>

                                        <asp:TextBox id=TextBox1 runat="server" Width="136px" Text='<%# DataBinder.Eval(Container, "DataItem.部門名稱") %>'>

                                        </asp:TextBox>

                                   </ItemTemplate>

                              </asp:TemplateColumn>

                              <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="取消" EditText="編輯">

                                   <HeaderStyle Width="200px"></HeaderStyle>

                              </asp:EditCommandColumn>

                         </Columns>

                    </asp:DataGrid></FONT>

          </form>

     </body>

後台代碼為:

private void Page_Load(object sender, System.EventArgs e)

          {

               // 在這裡放置使用者程式碼以初始化網頁

               if(!this.IsPostBack)

               {

                    lianjie();

               }

          }

 

          #region Web Form 設計工具產生的程式碼

          override protected void OnInit(EventArgs e)

          {

               //

               // CODEGEN: 此為 ASP.NET Web Form 設計工具所需的呼叫。

               //

               InitializeComponent();

               base.OnInit(e);

          }

         

          /// <summary>

          /// 此為設計工具支援所必須的方法 - 請勿使用程式碼編輯器修改

          /// 這個方法的內容。

          /// </summary>

          private void InitializeComponent()

          {   

               this.DataGrid1.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_CancelCommand);

               this.DataGrid1.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_EditCommand);

               this.DataGrid1.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_UpdateCommand);

               this.Load += new System.EventHandler(this.Page_Load);

 

          }

          #endregion

          private void lianjie()

          {

               string sql="select * from elogin1 ";

               SqlConnection conn=new SqlConnection(ConfigurationSettings.AppSettings["connstr"].ToString());

               SqlDataAdapter da=new SqlDataAdapter(sql,conn);

               DataSet ds=new DataSet();

               da.Fill(ds);

               if(ds.Tables[0].Rows.Count>0)

               {

                    this.DataGrid1.DataSource=ds;

                    this.DataGrid1.DataBind();

               }

          }

 

          private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

          {

              //設置DataGrid控件編輯項的索引為-1,即取消編輯

               this.DataGrid1.EditItemIndex=-1;

               //重新進行數據綁定

               lianjie();

          }

          public SqlDataReader BindTheTitle()

          {

               SqlConnection conn=new SqlConnection(ConfigurationSettings.AppSettings["connstr"].ToString());

               SqlCommand cmd=new SqlCommand("select top 5  nt from elogin1",conn);

               conn.Open();

               return cmd.ExecuteReader(CommandBehavior.CloseConnection);

          }

 

          private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

          {

              //設置DataGrid控件編輯項的索引為當前的索引

               this.DataGrid1.EditItemIndex =e.Item.ItemIndex;

               lianjie();

//               string sql1="select * from elogin1 ";

//               SqlConnection conn1=new SqlConnection(ConfigurationSettings.AppSettings["connstr"].ToString());

//               SqlDataAdapter da=new SqlDataAdapter(sql1,conn1);

//               DataSet ds=new DataSet();

//               da.Fill(ds);

//               this.DataGrid1.DataSource=ds;

//               this.DataGrid1.DataBind();

          }

 

          private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

          {

               //取得編輯行的關鍵字段的值

               int empid =(int)this.DataGrid1.DataKeys[e.Item.ItemIndex];

               //取得文本框中輸入的內容,如果使用數據綁定列((TextBox)e.Item.Cells[2].Controls[0].Text方式取得

               TextBox newtext=(TextBox)e.Item.FindControl("TextBox1");

               //定義SQL

               string sql="update elogin1 set 部門名稱 ='"+newtext.Text+"' where id='"+empid.ToString()+"'";

              SqlConnection conn=new SqlConnection(ConfigurationSettings.AppSettings["connstr"].ToString());

               SqlCommand cmd=new SqlCommand(sql,conn);

               //打開數據庫

               conn.Open();

               try

               {

                    //執行SQL

                    cmd.ExecuteNonQuery();

                    //取消編輯

                    this.DataGrid1.EditItemIndex=-1;

                    lianjie();

//                    string sql1="select * from elogin1 ";

//                    SqlConnection conn1=new SqlConnection(ConfigurationSettings.AppSettings["connstr"].ToString());

//                    SqlDataAdapter da=new SqlDataAdapter(sql1,conn1);

//                    DataSet ds=new DataSet();

//                    da.Fill(ds);

//                    this.DataGrid1.DataSource=ds;

//                    this.DataGrid1.DataBind();

               }

               catch(Exception err)

               {

                    //輸出異常信息

                    Response.Write(err.ToString());

               }

               finally

               {

                    conn.Close();

               }

          }

     }

分享按钮发布于: 2006-09-22 12:36 chouer 阅读(357) 评论(0)  编辑 收藏

评论

标题
姓名
主页
内容 
  登录  使用高级评论  Top 订阅回复  取消订阅
[使用Ctrl+Enter键可以直接提交]