GridView控件的使用

GridView控件,用表格的形式将数据显示出来。那么如何将将数据绑定到GridView中呢?目前值学习了两种,一种是直接绑定数据源,另一种是动态显示数据(主要使用对象有SqlCommand,SqlDataAdapter,DateSet)。这里主要说一下后一种方法:

 private void showData(String sql)
        {
            try
            {
                //自动生成表头
                this.gridSend.AutoGenerateColumns = true;
                //这个属性是当你点击GridView中任意一个单元格时,默认选中该单元格所在行
                this.gridSend.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                //简单的数据库连接
                SqlConnection conn = new SqlConnection("server=.\\sqlexpress;database=dodoo2;uid=s1;pwd=s1");
                conn.Open();
                SqlCommand cmd = new SqlCommand();
                SqlDataAdapter da = new SqlDataAdapter();
                cmd.Connection = conn;
                cmd.CommandText = sql;
                cmd.CommandType = CommandType.Text;
                da.SelectCommand = cmd;
                DataSet ds = new DataSet();
                da.Fill(ds, "lb_billflow");
                this.gridSend.DataSource = ds.Tables[0];
                conn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message+sqlSel);
            }
        }

显示出数据后,通过CellClick()事件,获取选中行的数据,例如获取选中行中的id值:

int id = Convert.ToInt16(gridSend.CurrentRow.Cell["ID"].value);

因为在做报表,还需要将GridView打印成报表。这里我用的是GridReport工具,这里边提供了丰富的功能。可以直接做出现成的报表,在页面通过GridReport.start()显示,也可以通过编码将GridView中的值传如报表中。还是介绍后一种方法:

private void ReportFetchRecord() {
            for (int row = 0; row < gridSend.RowCount;++row )
            {
                Report.DetailGrid.Recordset.Append();
                //for循环中ColumnCount-1!如果没有-1,会抛出
                for (int col = 0; col < gridSend.ColumnCount-1; ++col)
                   Report.DetailGrid.Recordset.Fields[col + 1].AsString = gridSend.Rows[r                            ow].Cells[col].Value.ToString();
               Report.DetailGrid.Recordset.Post();
            }
        }
private void DefineReport() {
            Report.Clear();//清空报表 
            Report.Printer.PaperOrientation = GRPaperOrientation.grpoLandscape;

            //定义表头
            IGRReportHeader Reportheader = Report.InsertReportHeader();
            Reportheader.Height = 1.38;
            //插入一个静态文本框,显示报表标题文字
            IGRStaticBox StaticBox = Reportheader.Controls.Add(GRControlType.grctStaticBox).AsStaticBox;
            StaticBox.Text = "发放物品清单";
            StaticBox.Font.Point = 15;
            StaticBox.Font.Bold = true;
            StaticBox.Top = 0.40;
            StaticBox.Width = 5.64;
            StaticBox.Height = 0.58;

            //根据Gridview的列信息定义明细网络
            Report.InsertDetailGrid();
            Report.DetailGrid.ColumnTitle.Height = 0.58;
            Report.DetailGrid.ColumnContent.Height = 0.58;
            //将数据写入报表中
            IGRRecordset RecordSet = Report.DetailGrid.Recordset;
            for (int i = 0; i < gridSend.ColumnCount;++i )
            {
                string ColumnName = gridSend.Columns[i].Name;
                RecordSet.AddField(ColumnName,GRFieldType.grftString);
                double ReportColumnWidth = Convert.ToDouble(gridSend.Columns[i].Width)/50;
                Report.DetailGrid.AddColumn(ColumnName,gridSend.Columns[i].HeaderText,ColumnName,ReportColumnWidth);
            }
            
        }      
 窗体的构造函数中添加:
 Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecord);  
 报表的打印预览功能:Report.PrintPreview(true);
时间: 2024-09-30 14:57:58

GridView控件的使用的相关文章

GridView控件详解

一.介绍 GridView控件一表格形式显示数据源中的数据.提供对列进行排序.分页以及编辑.删除单个记录的功能. 二.绑定数据源 第一种使用DataSourceID属性.可以直接把GridView控件绑定到数据源控件上,以利用数据源控件的功能实现编辑.删除.排序.分页等功能.(初级) 第二种可以绑定到ADO.NET数据集和数据读取器对象上,但需要为所有功能编写后台代码.(一般使用这种方式) private void gridViewBind() { //获取GridView排序数据列及排序方向

GridView控件

GridView简介: GridView控件以表格的形式显示数据源的值,没列表示一个字段,每行表示一条记录. 该控件提供了内置排序功能.内置更新(修改)和删除.分页.行选择功能.以编程方式访问GridView对象模型以动态设置属性以及处理事件等功能. 可以通过主题和样式进行自定义外观,实现多种样式的数据展示. 常见属性: AllowPaging设置是否启用分页 AllowSorting设置是否启用排序功能 AutoGenerateColumns:设置是否为数据源中的每个字段自动创建绑定字段.默认

GridView控件相关2

---恢复内容开始--- 此文档主要侧重---GridView控件上的 [更新] 和 [删除] 两个事件的具体操作: 1.在非编辑状态,如何取出[BoundField]模板中的绑定值: string s = GridView1.Rows[2].Cells[0].Text; 在编辑状态下,如何取出GridView中用[BouldField]绑定的内容------即,如何获得[TextBox]中用户输入的内容: ((TextBox)GridView1.Rows[2].Cells[0].Control

GridView控件相关

---恢复内容开始--- GridView控件的[AutoGenerateColumns]属性(bool类型)的意思是----运行时是否基于关联的数据源自动生成列. 这样造成的影响是列的标题自动生成无法进行修改. 想手工的控制列名,则需把这个属性设为False.然后再控件的右上角点击,出现[编辑列],或者在属性页面设置[Columns]属性,都会弹出编辑列的界面: (1).[BoundField]----绑定以文本形式显示一个字段.它的属性: HeaderText----就是显示的列名, Dat

asp.net GridView控件的列属性

BoundField 默认的数据绑定类型,通常用于显示普通文本 CheckBoxField 显示布尔类型的数据.绑定数据为TRUE时,复选框数据绑定列为选中状态:绑定数据为FALSE时,则显示未选中状态.在正常情况下,CheckBoxField显示在表格中的复选框控件处于只读状态.只有GridView控件的某一行进入编辑状态后,复选框才恢复为可修改状态. CommandField 显示用来执行选择,编辑或删除操作的预定义命令按钮,这些按钮可以呈现为普通按钮,超链接,图片等外观. 通过字段的But

数据绑定技术一:GridView控件

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

GridView控件通过bit值显示复选框状态

前几天用VS2013做了一个Asp.net下用GridView控件显示数据选中状态的小例子,引发了关于bit的一些新认识. 先简单说说我这个例子吧. 在VS里新建一个web窗体,然后拖入一个GridView控件,绑定Sql Server数据库里的数据源,再通过设置模板添加一个新列.在这个列中加入一个CheckBox控件,然后绑定到数据库里的字段. 开始我设置这个字段的类型为varchar,字段的值为True.False等.绑定后却无法达到想要的效果,即F5后网页内数据库isText字段值为Tru

点击CheckBox让Gridview控件在编辑与正常状态之间切换

昨晚快休息时,还有一位网友咨询Insus.NET,他想在开发时,实现一个小功能,就是想让用户在点击Gridview控件第一列的CheckBox之后,GridView进入编辑状态,取消选中的CheckBox,GridView的当前行回复正常状态.是否能实现.当时Insus.NET有提供示例供其参考: http://www.cnblogs.com/insus/p/3219262.html 今早打开Skype一看,他留言了,说还是做不出来.下面Insus.NET还修改一下上面链接的示例,改为网友的实际

在aspx页动态加载ascx页面内容,给GridView控件绑定数据

在aspx页动态加载ascx页面内容 //加载ascx页面内容Control c1 = this.Page.LoadControl("WebUserControl1.ascx");//绑定到aspx页的PlaceHolder控件上PlaceHolder1.Controls.Add(c1); DataSet ds = SqlServerHelpr.GetDataSet("select * from dbo.Table_1");//给GridView控件绑定数据Grid

扩展GridView控件——为内容项添加拖放及分组功能

引言 相信大家对GridView都不陌生,是非常有用的控件,用于平铺有序的显示多个内容项.打开任何WinRT应用或者是微软合作商的网站,都会在APP中发现GridView的使用."Tiles"提供了一个简单易用,平铺方式来组织内容显示.Windows8的开始菜单是最典型的GridView 示例."开始菜单"显示了系统中安装的所有应用程序,而且支持重新排列. 本文源于我们项目的开发人员,他们想在项目中提供与GridView相同的用户体验,想要创建类GridView控件