• C# DataGridView的常用用法


    DataGridView的常用用法 //读取表Supplier并绑定到GridView中
        private void BindGvSupplier()
        ...{
        OracleConnection conn = this.Conn();
        OracleCommand cmd = new OracleCommand( "select * from Supplier ", conn);
        OracleDataAdapter sda = new OracleDataAdapter(cmd);
        DataSet ds = new DataSet();
        sda.Fill(ds, "Supplier ");

        string[] SuppId = new string[ds.Tables[ "Supplier "].Rows.Count];
        for (int i = 0; i < ds.Tables[ "Supplier "].Rows.Count; i++)
        ...{
        SuppId[i] = ds.Tables[ "Supplier "].Rows[i][0].ToString();
        }
        this.gvSupplier.DataSource = ds.Tables[ "Supplier "];
        this.gvSupplier.DataKeyNames[0] = "SuppId ";
        this.gvSupplier.DataBind();
        this.lblPageIndex.Text = Convert.ToString(int.Parse(this.gvSupplier.PageIndex.ToString()) + 1);
        this.lblTotalPage.Text = this.gvSupplier.PageCount.ToString();
        this.lblCount.Text = this.GetTotalCount().ToString();
        }

        //分页触发的事件
        protected void gvSupplier_PageIndexChanging(object sender, GridViewPageEventArgs e)
        ...{
        this.gvSupplier.PageIndex = e.NewPageIndex;
        this.BindGvSupplier();
        this.lblPageIndex.Text = Convert.ToString(int.Parse(this.gvSupplier.PageIndex.ToString()) + 1);
        this.cbAllSelect_CheckedChanged(this.cbAllSelect, e);
        }

        //删除按钮触发的事件
        protected void gvSupplier_RowDeleting(object sender, GridViewDeleteEventArgs e)
        ...{
        int id = e.RowIndex;

        GridViewRow gvr = this.gvSupplier.Rows[id];
        int SuppId=int.Parse(((HyperLink)(gvr.Cells[7].Controls[0])).Text.ToString());
        string sqlString = "delete from Supplier where SuppId= " + SuppId;
        //如果本页只有一条数据,删除后要向前翻一页
        if (this.gvSupplier.Rows.Count == 1)
        ...{
        if (this.gvSupplier.PageIndex > 1)
        ...{
        this.gvSupplier.PageIndex--;
        }
        }
        int result = ExecuteSql(sqlString);
        if (result == 1)
        ...{
        this.Alert( "你成功删除一条数据 ", this.Page);
        }
        this.BindGvSupplier();
        this.BindGvSupplier();

        }

        //绑定删除按钮的确认提示
        protected void gvSupplier_RowDataBound(object sender, GridViewRowEventArgs e)
        ...{
        if (e.Row.RowType == DataControlRowType.DataRow)
        ...{
        LinkButton myLb = (LinkButton)(e.Row.Cells[8].Controls[1]);
        myLb.Attributes.Add( "onclick ", "javascript:return confirm( &apos;你确认删除 "+e.Row.Cells[0].Text+ "吗? &apos;) ");
        //鼠标经过时改变行的颜色
        e.Row.Attributes.Add( "onmouseover ", "this.style.backgroundColor= &apos;#ffffe7 &apos; ");
        e.Row.Attributes.Add( "onmouseout ", "this.style.backgroundColor= &apos;transparent &apos; ");
        }
        }

        //执行一条Oracle语句
        private int ExecuteSql(String sqlString)
        ...{
        //try
        //{
        OracleConnection conn = this.Conn();
        conn.Open();
        OracleCommand cmd = new OracleCommand(sqlString, conn);
        int effectedLine = cmd.ExecuteNonQuery();
        conn.Close();
        return effectedLine;
        //}
        //catch
        //{
        // return 0;
        //}
        }

        //点击编辑按钮时触发的事件
        protected void gvSupplier_RowEditing(object sender, GridViewEditEventArgs e)
        ...{
        string s = this.gvSupplier.DataKeys[e.NewEditIndex][1].ToString();
        this.txtAddr1.Text = "dddd " + s;
        this.gvSupplier.EditIndex = e.NewEditIndex;
        this.BindGvSupplier();
        }
        //点击取消按钮时触发的事件
        protected void gvSupplier_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        ...{
        this.gvSupplier.EditIndex = -1;
        this.BindGvSupplier();
        }
        //点击更新按钮时触发的事件
        protected void gvSupplier_RowUpdating(object sender, GridViewUpdateEventArgs e)
        ...{
        int id = e.RowIndex;
        GridViewRow gvr = this.gvSupplier.Rows[id];
        int suppId = int.Parse(((HyperLink)(gvr.Cells[7].Controls[0])).Text.ToString());
        string name = ((TextBox)gvr.Cells[0].Controls[0]).Text.ToString();
        string status = ((TextBox)gvr.Cells[1].Controls[0]).Text.ToString();
        string addr1 = ((TextBox)gvr.Cells[2].Controls[0]).Text.ToString();
        string addr2 =((TextBox) gvr.Cells[3].Controls[0]).Text.ToString();
        string city = ((TextBox)gvr.Cells[4].Controls[0]).Text.ToString();
        string state = ((TextBox)gvr.Cells[5].Controls[0]).Text.ToString();
        string zip=((TextBox)gvr.Cells[6].Controls[0]).Text.ToString();
        string sqlString = "update Supplier set Name= &apos; " + name + " &apos;,Status= &apos; " + status + " &apos;,Addr1= &apos; " + addr1 + " &apos;,Addr2= &apos; " + addr2 + " &apos;,City= &apos; " + city + " &apos;,State= &apos; " + state + " &apos;,Zip= &apos; " + zip + " &apos; where SuppId= " + suppId;
        int result = ExecuteSql(sqlString);
        if (result == 1)
        ...{
        //......
        }
        this.gvSupplier.EditIndex = -1;
        this.BindGvSupplier();
        }

        //增加一条记录
        protected void btnAdd_Click(object sender, EventArgs e)
        ...{
        string name = this.txtName.Text.ToString();
        string status = this.txtStatus.Text.ToString();
        string addr1 = this.txtAddr1.Text.ToString();
        string addr2 = this.txtAddr2.Text.ToString();
        string city = this.txtCity.Text.ToString();
        string state = this.txtState.Text.ToString();
        string zip = this.txtZip.Text.ToString();
        string sqlString = "insert into Supplier values(SQSuppId.Nextval, &apos; " + name + " &apos;, &apos; " + status + " &apos;, &apos; " + addr1 + " &apos;, &apos; " + addr2 + " &apos;, &apos; " + city + " &apos;, &apos; " + state + " &apos;, &apos; " + zip + " &apos;) ";
        if (this.ExecuteSql(sqlString) == 1)
        ...{
        this.Alert( "你成功添加一条数据 ", this.Page);
        }
        else
        ...{
        this.Alert( "添加未成功! ", this.Page);
        }
        this.BindGvSupplier();
        }

        //查看共有多少条数据
        private int GetTotalCount()
        ...{
        //try
        //{
        OracleConnection conn = this.Conn();
        conn.Open();
        OracleCommand cmd = new OracleCommand( "select count(*) from Supplier ", conn);
        int count = Convert.ToInt32(cmd.ExecuteScalar());
        conn.Close();
        return count;
        //}
        //catch
        //{
        // return 0;
        //}
        }

        //弹出警告窗口
        public void Alert(string str_Message, Page page)
        ...{
        page.RegisterStartupScript( " ", " <script >alert( &apos; " + str_Message + " &apos;); </script > ");
        }

        //弹出确认对话框
        public void Confirm(string str_Message, string btn, Page page)
        ...{
        page.RegisterStartupScript( " ", " <script > if (confirm( &apos; " + str_Message + " &apos;)==true){document.forms(0). " + btn + ".click();} </script > ");
        }

        protected void cbAllSelect_CheckedChanged(object sender, EventArgs e)
        ...{
        for(int i=0;i <this.gvSupplier.Rows.Count;i++)
        ...{
        CheckBox cbSelect=(CheckBox)(gvSupplier.Rows[i].Cells[10].FindControl( "cbSelect "));
        cbSelect.Checked=this.cbAllSelect.Checked;
        }
        }

        //当点击删除按钮时删除所有checkbox被选中的数据
        protected void btnDel_Click(object sender, EventArgs e)
        ...{
        //如果用户确认将触发btnRealDel的事件
        this.Confirm( "你真的要删除你所选的数据么? ", "btnRealDel ", this.Page);

        }

        //真实的删除操作
        public void btnRealDel_Click(object sender, EventArgs e)
        ...{
        int count = 0;
        for (int i = 0; i < this.gvSupplier.Rows.Count; i++)
        ...{
        CheckBox myCb = (CheckBox)(this.gvSupplier.Rows[i].Cells[10].FindControl( "cbSelect "));
        if (myCb.Checked)
        ...{
        count++;
        HyperLink hl = (HyperLink)(this.gvSupplier.Rows[i].Cells[7].Controls[0]);
        int suppId = int.Parse(hl.Text.ToString());
        string sqlString = "delete from Supplier where SuppId= " + suppId;
        this.ExecuteSql(sqlString);
        }
        }
        if (count > 0)
        ...{
        this.Alert( "你成功删除了 " + count + "条数据 ", this.Page);
        this.BindGvSupplier();
        }
        }

  • 相关阅读:
    黑客悬赏活动第二期 | 百万ELF赏金,aelf跨链转账标准协议CCTP等你挑战!
    2020年aelf首场全民公测,有奖狂欢四重好礼大放送!
    使用aelf最新稳定测试币AEUSD试玩BingoGame Demo,赢取体验奖金!
    开发者大赛 | aelf轻型DApp开发训练大赛结果公布!
    黑客赏金第一期 | aelf跨链转账标准协议准备就绪,88888ELF赏金等你挑战!
    Twitter AMA预告 | aelf 创始人马昊伯将以【aelf治理与发展】为主题进行在线答疑!
    aelf Enterprise 1.0.0 Preview 2 版正式发布!
    aelf技术点解读 | 分红合约接口实现方案
    深入浅出索引--Mysql45讲笔记记录 打卡day3
    一条SQL语句是如何执行的?--Mysql45讲笔记记录 打卡day1
  • 原文地址:https://www.cnblogs.com/zhukezhuke/p/1539497.html
Copyright © 2020-2023  润新知