datagrid绑定自定义数据源绑定实例
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://51xingfu.blog.51cto.com/219185/46136 |
前台datagrid定义:
<asp:datagrid id="Dgd_user" runat="server" DataKeyField="Emp_id" OnUpdateCommand="DataGrid_update"
OnEditCommand="DataGrid_edit" OnDeleteCommand="DataGrid_delete" OnCancelCommand="DataGrid_cancel" OnPageIndexChanged="DataGrid_page" AutoGenerateColumns="False" PageSize="5" AllowPaging="True" Width="100%" CellPadding="4" GridLines="None" ForeColor="#333333"> <SelectedItemStyle Font-Bold="True" ForeColor="#333333" BackColor="#D1DDF1"></SelectedItemStyle> <AlternatingItemStyle BackColor="White"></AlternatingItemStyle> <ItemStyle BackColor="#EFF3FB"></ItemStyle> <HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#507CD1"></HeaderStyle> <FooterStyle ForeColor="White" BackColor="#507CD1" Font-Bold="True"></FooterStyle> <Columns> <asp:BoundColumn DataField="Emp_id" HeaderText="用户号"></asp:BoundColumn> <asp:BoundColumn DataField="Emp_name" HeaderText="登录名"></asp:BoundColumn> <asp:BoundColumn DataField="password" ReadOnly="True" HeaderText="密码" DataFormatString="******"></asp:BoundColumn> <asp:BoundColumn DataField="name" HeaderText="姓名"></asp:BoundColumn> <asp:BoundColumn DataField="Email" HeaderText="Email"></asp:BoundColumn> <asp:BoundColumn DataField="jb" HeaderText="用户类型"></asp:BoundColumn> <asp:BoundColumn DataField="tell" HeaderText="联系电话"></asp:BoundColumn> <asp:EditCommandColumn UpdateText="更新" CancelText="取消" EditText="编辑"></asp:EditCommandColumn> <asp:ButtonColumn Text="删除" CommandName="Delete"></asp:ButtonColumn> </Columns> <PagerStyle HorizontalAlign="Center" ForeColor="White" BackColor="#2461BF"></PagerStyle> <EditItemStyle BackColor="#2461BF" /> </asp:datagrid> 后台cs代码:
public partial class Emp : System.Web.UI.Page
{ SqlConnection cn; protected void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 if(Session["jb"].ToString()=="0") { } else { Response.Write ("您不是合法用户,请登入后再操作,<a href='default.aspx'>返回</a>"); Page.Response.End(); } string strconn=ConfigurationSettings.AppSettings["ConnectionString"]; cn=new SqlConnection(strconn); if(!IsPostBack) BindGrid(); } #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { }
#endregion protected void Btn_exit_Click(object sender, System.EventArgs e)
{ Page.Response.Redirect("default.aspx"); } public void DataGrid_page(object sender,DataGridPageChangedEventArgs e) { Dgd_user.CurrentPageIndex=e.NewPageIndex; BindGrid(); } public void BindGrid() { SqlDataAdapter da=new SqlDataAdapter("select * from Employee",cn); DataSet ds=new DataSet(); da.Fill(ds); Dgd_user.DataSource=ds; Dgd_user.DataBind(); } public void DataGrid_cancel(object sender,DataGridCommandEventArgs e) { Dgd_user.EditItemIndex=-1; BindGrid(); } public void DataGrid_edit(object sender,DataGridCommandEventArgs e) { Dgd_user.EditItemIndex=(int)e.Item.ItemIndex; BindGrid(); } public void DataGrid_update(object sender,DataGridCommandEventArgs e) { SqlCommand cm=new SqlCommand("UpdateEmp",cn); cm.CommandType=CommandType.StoredProcedure; cm.Parameters.Add(new SqlParameter("@Email",SqlDbType.VarChar,50)); cm.Parameters.Add(new SqlParameter("@tell",SqlDbType.VarChar,50)); cm.Parameters.Add(new SqlParameter("@jb",SqlDbType.Int,4)); cm.Parameters.Add(new SqlParameter("@Emp_id",SqlDbType.Int,4)); string colvalue=((TextBox)e.Item.Cells[4].Controls[0]).Text;
cm.Parameters["@Email"].Value=colvalue; colvalue=((TextBox)e.Item.Cells[5].Controls[0]).Text; cm.Parameters["@jb"].Value=colvalue; colvalue=((TextBox)e.Item.Cells[6].Controls[0]).Text;
cm.Parameters["@tell"].Value=colvalue; cm.Parameters["@Emp_id"].Value=Dgd_user.DataKeys[(int)e.Item.ItemIndex]; cm.Connection.Open(); try { cm.ExecuteNonQuery(); Lbl_note.Text="编辑成功"; Dgd_user.EditItemIndex=-1; } catch(SqlException) { Lbl_note.Text="编辑失败"; Lbl_note.Style["color"]="red"; } cm.Connection.Close(); BindGrid(); } public void DataGrid_delete(object sender,DataGridCommandEventArgs e) { SqlCommand cm=new SqlCommand("deleteEmp",cn); cm.CommandType=CommandType.StoredProcedure; cm.Parameters.Add(new SqlParameter("@Empid",SqlDbType.Int,4));
cm.Parameters["@Empid"].Value=Dgd_user.DataKeys[(int)e.Item.ItemIndex]; cm.Connection.Open(); try { cm.ExecuteNonQuery(); Lbl_note.Text="删除成功"; } catch(SqlException) { Lbl_note.Text="删除失败"; Lbl_note.Style["color"]="red"; } cm.Connection.Close(); BindGrid(); } } 以上程序经过测试通过,有需要源程序的朋友,请留言索取.
本文出自 “幸福开心豆” 博客,请务必保留此出处http://51xingfu.blog.51cto.com/219185/46136 本文出自 51CTO.COM技术博客 |



adai6666
博客统计信息
热门文章
最新评论
友情链接