1.数据绑定
a.编辑列
在Windows窗体上新建一个DataGridView,修改名称为dg_user,选中dg_user,右击鼠标,选择“编辑列”,添加列user_id,user_name,plant_name,如图:
注意:DataPropertyName应和SQL语句查询的字段名保持一致,HeaderText为界面显示的列名,Visible表示界面是否显示该列(例如ID列一般不需要显示给用户,但是可能会作为删除等操作的行标,所以将该列设置为隐藏列)。
b.连接数据库
获取与数据库的连接,通过SQL查询语句查询表ljj_usertable 中user_id, user_name, plant_name 字段的信息,存储在DataTable 中,代码如下:
public DataTable get_users() { OracleConnection conn = null; OracleTransaction tran = null; OracleCommand cmd = null; try { StringBuilder str = new StringBuilder(); str.Append("select user_id,user_name,plant_name from ljj_usertable "); conn = new OracleConnection("Data Source=XX;Persist Security Info=True;User ID=XXX;Password=XXXX"); conn.Open(); tran = conn.BeginTransaction(); cmd = new OracleCommand(str.ToString(), conn, tran); DataSet ds = new DataSet(); OracleDataAdapter oda = new OracleDataAdapter(cmd); oda.Fill(ds); DataTable dt = ds.Tables[0]; tran.Commit(); conn.Close(); return dt; } catch (Exception e) { throw e; } finally { if (null != conn) conn.Close(); } }
c.数据显示
将方法get_users()获得的DataTable 显示在data_gridview中,代码如下:
public void show_users() { this.dg_user.DataSource = this.get_users().DefaultView; this.dg_user.Refresh(); }
刷新表格时运行方法show_users(),数据库表相应的数据就显示在data_gridview中啦。
2.将data_gridview中的数据导出为excel文件
a.筛选有效数据
获取datagridview中的数据保存在EXCEL文件中,一般情况下,隐藏列是程序员使用的,不需要展现给用户,所以保存在EXCEL文件中的数据需要去掉隐藏列,方法如下:
public DataTable SiftData(DataGridView datagridview) { try { DataTable dt = new DataTable(); DataTable columnname_Table = new DataTable(); for (int column = 0; column < datagridview.Columns.Count; column++) { if (datagridview.Columns[column].Visible == false) { continue; } dt.Columns.Add( new DataColumn(datagridview.Columns[column].HeaderText, typeof(string))); columnname_Table.Columns.Add(new DataColumn(datagridview.Columns[column].Name, typeof(string))); } for (int row = 0; row < datagridview.Rows.Count; row++) { if (datagridview.Rows[row].Visible == false) { continue; } DataRow tempRow = dt.NewRow(); for (int i = 0; i < dt.Columns.Count; i++) { tempRow[i] = datagridview.Rows[row].Cells[columnname_Table.Columns[i].ColumnName].Value; } dt.Rows.Add(tempRow); } return dt; }
b.将得到的数据导出为excel表格
首先在窗口上添加一个控件SaveFileDialog,命名为sdg_filename,
代码结构分四步:
(1)设置工作簿,工作表和单元格;
(2)根据datatable中的数据向excel表中写入列名
(3)写入数据
(4)保存文件
代码如下:
private void exportExcelByTable(DataTable dataTable) { try { int colIndex = 0; Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(); Aspose.Cells.Worksheet sheet = workbook.Worksheets[0]; Aspose.Cells.Cells cells = sheet.Cells; foreach (DataColumn dc in dataTable.Columns) { cells[0, colIndex].PutValue(dc.ColumnName); colIndex++; } for (int i = 0; i < dataTable.Rows.Count; i++) { for (int j = 0; j < dataTable.Columns.Count; j++) { cells[i + 1, j].PutValue(dataTable.Rows[i][j].ToString()); } } sdg_filename.Filter = " xls files(*.xls)|"; sdg_filename.FileName = DateTime.Now.ToString("yyyyMMdd") + "-" + "用户信息表.xls"; sdg_filename.FilterIndex = 2; sdg_filename.RestoreDirectory = true; if (sdg_filename.ShowDialog() == DialogResult.OK) { workbook.Save(sdg_filename.FileName.ToString()); } } catch (Exception e) { throw e; } }
运行函数:exportExcelByTable(SiftData(this.dg_user));
c.打开文件
System.Diagnostics.Process.Start(sdg_filename.FileName);
打开文件可以和保存文件写在一起,这样保存成功就直接打开了,非常实用。
到这里,DataGridView的绑定数据和导出数据就介绍完了,DataGridView控件使用灵活,还有很多方法,可以参照系统提供的事件进行学习。
相关推荐
在本教程中,我们将深入探讨如何使用C#来应用GridView,以及如何与SqlDataSource配合以实现数据的检索、显示、编辑和删除。 首先,GridView控件允许开发人员以表格形式展示数据,支持分页、排序、筛选等多种功能,...
在.NET框架中,C#的GridView控件是一个非常强大的数据展示工具,广泛应用于网页和桌面应用的开发。它能够方便地展示数据集、数据库表或其他数据源中的信息,并且提供了丰富的功能,如排序、分页、筛选、编辑、删除等...
9. **data目录**: 可能包含了示例的数据文件,用于填充Repeater和GridView。可能是CSV、XML、SQL数据库备份等形式,供应用程序读取和展示数据。 综上所述,这个压缩包文件的内容展示了如何使用AjaxPro库实现在ASP...
总结,C#操作GridView涉及了数据绑定、数据展示、用户交互、数据操作等多个方面,理解并熟练掌握这些知识点,能帮助开发者构建出功能强大、用户体验良好的Web应用数据展示界面。通过不断实践和学习,开发者可以...
DevExpress GridControl GridView是一款强大的数据网格控件,常用于Windows Forms和ASP.NET应用程序中,提供丰富的数据展示和操作功能。在开发过程中,我们可能会遇到在GridView中添加新行数据时遇到数据为空或者...
通过这个简单的项目,你可以学习到如何组织和实施一个基于C#的三层架构应用,以及如何利用gridview进行数据操作。同时,异常处理和合适的代码结构能帮助你更好地理解和调试代码,提高开发效率。
`Web.config`文件可能包含关于数据库连接的信息,而`App_Data`文件夹可能存放数据库文件。在`Default.aspx.cs`后台代码中,我们为主GridView(gvMain)和子GridView(gvChild)设置数据源,可能如下所示: ```...
在C#编程环境下,与ASP.NET结合,GridView控件提供了强大的数据绑定功能,使得我们可以方便地将数据库中的数据展示在网页上。本篇文章将详细探讨“C# ASP.NET GridView数据绑定”这一主题。 1. **数据源** 在进行...
### GridView正反排序(C#) 在Web开发中,特别是ASP.NET Web Forms中,`GridView` 控件被广泛用于展示和管理数据库中的数据。通过简单的配置,`GridView` 可以实现对数据的增删改查、分页以及排序等功能。其中,排序...
可以使用`<asp:GridView>`标签的`DataSourceID`属性进行控件绑定,或者在代码后面使用`GridView1.DataSource = dataObject;`和`GridView1.DataBind();`进行程序绑定。 3. ** 自定义列**: 你可以根据需要自定义...
C# GridView 批量删除记录 GridView 批量删除记录是 GridView 控件的一个常用功能,它允许用户选择要删除的记录,然后批量删除这些记录。实现这个功能需要使用复选框选择记录,然后通过确认对话框删除记录。 ...
在这个基于C#和ASP.NET的程序例子中,我们将深入探讨如何利用GridView控件实现数据的增删改选操作。 首先,GridView的使用通常涉及到数据源的绑定。在C#中,你可以通过DataSource属性将数据绑定到GridView。数据源...
在C#编程中,GridView控件是Windows Forms和ASP.NET应用程序中常用的数据展示工具,它允许用户以表格形式查看和操作数据。在这个场景中,我们关注的是如何在GridView中进行操作,并结合App.config文件来设置数据库...
这就是所谓的“GridView嵌套应用”。 在ASP.NET中,GridView嵌套通常是通过在模板字段(TemplateField)中添加另一个GridView来实现的。首先,我们需要创建一个外层GridView,然后在某个特定行的TemplateField中...
综上所述,C#中的GridView控件是一个强大且灵活的数据展示工具,适用于各种Web应用程序。熟练掌握其用法,能够极大地提升开发效率和用户体验。在实际应用中,开发者可以根据需求,结合其他控件和功能,构建出复杂的...
在C#编程中,GridView控件是ASP.NET Web Forms中常用的数据展示组件,它能够方便地展示数据库中的数据,并提供编辑、更新和删除等交互功能。在这个"C# GridView 例子编辑更新删除功能"中,我们将深入探讨如何实现...
在.NET框架中,GridView控件是ASP.NET网页开发中用于数据展示的重要组件,...通过实践这些示例,开发者能够熟练掌握在ASP.NET应用中使用GridView控件的方法,提高开发效率,为用户提供更直观、交互性强的数据展示体验。
在"GridView使用大全.doc"文档中,可能包含了更多详细示例和实战技巧,对于学习和提升C#开发中GridView的应用具有很大帮助。通过深入学习和实践,开发者可以充分利用GridView的功能,创建出用户友好的数据展示和操作...
在本文中,我们将深入探讨如何在Winform应用中嵌套使用GridView,以及相关的重要知识点。 1. GridView概述 GridView是.NET Framework中的System.Windows.Forms.DataGridView控件,它可以显示数据源中的数据,并支持...