zoukankan      html  css  js  c++  java
  • 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();
        }
        }

  • 相关阅读:
    vue-fullcalendar插件
    iframe 父框架调用子框架的函数
    关于调试的一点感想
    hdfs 删除和新增节点
    hadoop yarn 实战错误汇总
    Ganglia 安装 No package 'ck' found
    storm on yarn(CDH5) 部署笔记
    spark on yarn 安装笔记
    storm on yarn安装时 提交到yarn失败 failed
    yarn storm spark
  • 原文地址:https://www.cnblogs.com/zhukezhuke/p/1539497.html
Copyright © 2011-2022 走看看