gridview的高级使用


 
后台数据
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Text;
using System.IO;

namespace WebApplication2
{
    public partial class WebForm6 : System.Web.UI.Page
    {
        SqlConnection sqlcon;
        string strCon = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database1.mdf;Integrated Security=True;User Instance=True";
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                bind();
            }
        }
        protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
        {
            for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
            {
                CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
                if (CheckBox2.Checked == true)
                {
                    cbox.Checked = true;
                }
                else
                {
                    cbox.Checked = false;
                }
            }
        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            sqlcon = new SqlConnection(strCon);
            SqlCommand sqlcom;
            for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
            {
                CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
                if (cbox.Checked == true)
                {

                    string sqlstr = "delete from tb_sql where sname=‘" + GridView1.DataKeys[i].Value + "‘";
                    sqlcom = new SqlCommand(sqlstr, sqlcon);
                    sqlcon.Open();
                    sqlcom.ExecuteNonQuery().ToString();
                    sqlcon.Close();
                }
            }
            bind();
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            CheckBox2.Checked = false;
            for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
            {
                CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
                cbox.Checked = false;
            }
        }
        public void bind()
        {
            string sqlstr = "select top 5 * from tb_sql";
            sqlcon = new SqlConnection(strCon);
            SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
            DataSet myds = new DataSet();
            sqlcon.Open();
            myda.Fill(myds, "tb_sql");
            GridView1.DataSource = myds;
            GridView1.DataKeyNames = new string[] { "sname" };
            GridView1.DataBind();
            for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
            {
                DataRowView mydrv = myds.Tables["tb_sql"].DefaultView[i];
                string score = Convert.ToString(mydrv["sid"]);
                if (Convert.ToDouble(score) < 5)//大家这里根据具体情况设置可能ToInt32等等
                {
                    GridView1.Rows[i].Cells[4].BackColor = System.Drawing.Color.Red;
                }
            }
            //sqlcon.Close();

            sqlcon.Close();
        }

        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            int i;
            //执行循环,保证每条数据都可以更新
            for (i = 0; i < GridView1.Rows.Count; i++)
            {
                //首先判断是否是数据行
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    //当鼠标停留时更改背景色
                    e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor=‘#00A9FF‘");
                    //当鼠标移开时还原背景色
                    e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
                }
            }

            //如果是绑定数据行
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
                {

                    //CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
                    ((LinkButton)e.Row.Cells[6].Controls[0]).Attributes.Add("onclick", "javascript:return confirm(‘你确认要删除用户名:\"" + e.Row.Cells[2].Text + "\"吗?‘)");
                }
            }
            if (e.Row.RowIndex != -1)
            {
                int id = e.Row.RowIndex + 1;
                e.Row.Cells[0].Text = id.ToString();
            }

        }

        protected void Button3_Click(object sender, EventArgs e)
        {
            Export("application/ms-excel", "学生成绩报表.xls");

        }
        private void Export(string FileType, string FileName)
        {
            Response.Charset = "GB2312";
            Response.ContentEncoding = System.Text.Encoding.UTF7;
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
            Response.ContentType = FileType;
            this.EnableViewState = false;
            StringWriter tw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(tw);

            GridView1.RenderControl(hw);

            Response.Write(tw.ToString());
            Response.End();
        }
        public override void VerifyRenderingInServerForm(Control control)
        {
        }

    }

}
				
时间: 2024-10-10 12:50:40

gridview的高级使用的相关文章

GridView 高级技术

GridView 高级技术 汇总脚注 GridView 的主要目标是显示一组记录,但是你还可以加入一些有趣的信息,如汇总数据.需要如下的操作: 设置 GridView.ShowFooter 为 true ,这样可以显示脚注行(但没有数据) 在 GridView.FooterRow 中加入内容 本例假设正在处理产品列表,一个简单的汇总可以显示产品总价或均价.第一步是确定何时计算这个信息.如果正使用手工绑定(DataSource),那么可以在数据对象绑定到 GridView 之间就读取它的值并进行计

Android 高级UI设计笔记02:可以拖动交换item位置的GridView

1. 首先我们明白GridView拖拽的思路: (1)根据手指按下的X,Y坐标来获取我们在GridView上面点击的item. (2)手指按下的时候使用Handler和Runnable来实现一个定时器,假如定时时间为1000毫秒,在1000毫秒内,如果手指抬起了移除定时器,没有抬起并且手指点击在GridView的item所在的区域,则表示我们长按了GridView的item. (3)如果我们长按了item则隐藏item,然后使用WindowManager来添加一个item的镜像在屏幕用来代替刚刚

Android 高级面试题及答案

Android 高级面试题及答案 阅读目录 1.如何对 Android 应用进行性能分析 2.什么情况下会导致内存泄露 3.如何避免 OOM 异常 4.Android 中如何捕获未捕获的异常 5.ANR 是什么?怎样避免和解决 ANR(重要) 6.Android 线程间通信有哪几种方式 7.Devik 进程,linux 进程,线程的区别 8.描述一下 android 的系统架构 9.android 应用对内存是如何限制的?我们应该如何合理使用内存? 10. 简述 android 应用程序结构是哪

数据绑定技术一:GridView控件

在网站或应用程序中,要显示数据信息,可用到ASP.NET提供的数据源控件和能够显示数据的控件. 一.数据源控件 数据源控件用于连接数据源.从数据源中读取数据以及把数据写入数据源. 1.数据源控件特点 使用数据源控件可以不用编写任何代码就可以实现页面的数据绑定. 2.数据源控件的种类 .NET框架提供了如下几个数据源控件: SqlDataSource,它用来访问存储在关系数据中的数据源,它与SQL Server一起使用时支持高级缓存功能.当数据作为DataSet对象返回时,此控件还支持排序.筛选和

Yii2学习笔记一 GridView

第一次知道Yii框架其实是个偶然. 我刚工作半年,一直是使用国内的ThinkPHP框架,这个框架的好处是对初学者比较友好,学习成本低,不需要知道框架的底层就可以很顺利的完成一个WEB项目.缺点是更改过后的模板引擎支持解析的模板标签深度有限制,比如你如果有很多foreach循环,就必须 知道,超过三层时框架是不解析的.虽然也是使用Smarty模板引擎修改而来,但功能却不如Smarty. 还是一个同学不小心提醒我,他说都不会ThinkPHP框架,我才知道,我就会ThinkPHP框架了. 还在培训学校

GridView列添加下拉框,绑定数据源并设置默认值

添加下拉框:   注意:默认值只能在界面初始化直接中设置 DataGridViewComboBoxColumn dataGridViewComboBoxColumn = new DataGridViewComboBoxColumn(); dataGridViewComboBoxColumn.Name = "dgvcbcSeatType"; dataGridViewComboBoxColumn.DataPropertyName = "SeatType"; dataGr

ASP.NET高级编程笔记-简易版

##ASP.NET高级编程 #### 01 asp.net基本     - 1 配置web服务器 iis          - 1 默认文档 目录浏览等功能     - 2 基础控件         - TextBox Button CheckBox CheckBoxList DropDownList ListBox         - 文件上传             - 单文件小于4MB的上传                 - 路径使用Server.MapPath             

进阶三之Android UI介面之(滑动效果之Gallery + GridView)

人一生下就会哭,笑是后来才学会的.所以忧伤是一种低级的本能,而快乐是一种更高级的能力. 本讲内容:滑动效果之Gallery + GridView Android系统自带一个GridView和Gallery两个控件,GridView网格显示,Gallery单个浏览,两者结合起来可以真正实现Gallery浏览图片效果. 示例效果图         下面是res/layout/activity_main.xml 布局文件: <?xml version="1.0" encoding=&q

Android界面编程——Android高级UI组件(三)

Android界面编程 Android高级UI组件 2.4.1适配器组件 适配器的作用 适配器充当适配器控件和该视图数据之间的桥梁.适配器提供访问的数据项,并负责产生数据组中的每个项的视图. 常用的适配器 BaseAdapter:抽象类,具有较高的灵活性. ArrayAdapter:最为简单,智能展示一行文字. SimpleAdapter:有较好的扩充性,可以自定义出各种效果. SimpleCursorAdapter:主要用于操作数据库. 常用的适配器控制 适配器控件扩展自ViewAdapter