`
wsql
  • 浏览: 11756466 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

C#客户端绑定DataView和DataTable的几个技巧

阅读更多

这几个问题算不上高级技巧,但是的确还有很多人不知道,尤其是对DataView了解比较少,下面代码演示了如何绑定数据到combobx和datagridview,另外还包括了如何在绑定时过滤重复,设置联动,以及如何利用DataRelation求汇总表格。程序界面请读者自己生成,一个form,两个combobox,三个datagridview就可以了。

参考界面如下

程序代码如下

using System;
using System.ComponentModel;
using System.Data;
using System.Windows.Forms;

namespace WindowsApplication6
... {
public partial class Form1:Form
... {
public Form1()
... {
InitializeComponent();
initData();
}


System.Data.DataTabledt
= new DataTable();
System.Data.DataSetds
= new DataSet();

/**/ /// <summary>
/// 初始化数据
/// </summary>

private void initData()
... {
dt.TableName
= " Table1 " ;
ds.Tables.Add(dt);
dt.Columns.Add(
" ID " , typeof ( string ));
dt.Columns.Add(
" 板块 " , typeof ( string ));
dt.Columns.Add(
" 积分 " , typeof ( int ));

addData(dt,
" jinjazz " , " delphi " , 50000 );
addData(dt,
" jinjazz " , " Sqlserver " , 10000 );
addData(dt,
" jinjazz " , " .net " , 20000 );
addData(dt,
" zjcxc " , " Sqlserver " , 900000 );
addData(dt,
" zjcxc " , " vb " , 10000 );
addData(dt,
" zswang " , " delphi " , 70000 );
addData(dt,
" zswang " , " .net " , 30000 );
}


private void addData(DataTabledt, string Name, string Catalog, int Salary)
... {
System.Data.DataRowdrow
= dt.NewRow();
drow[
" ID " ] = Name;
drow[
" 板块 " ] = Catalog;
drow[
" 积分 " ] = Salary;
dt.Rows.Add(drow);
}



private void Form1_Load( object sender,EventArgse)
... {

// 绑定所有ID到comboBox1
this .comboBox1.DataSource = dt.DefaultView.ToTable( true , new string [] ... { " ID " } );
this .comboBox1.DisplayMember = " ID " ;

// 绑定所有板块到comboBox2
this .comboBox2.DataSource = new DataView(dt);
this .comboBox2.DisplayMember = " 板块 " ;

// 设置两个联动刷新
this .comboBox1.SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged);

// 绑定所有数据到dataGridView1
this .dataGridView1.DataSource = dt;

// 绑定所有数据到dataGridView2
this .dataGridView2.DataSource = new DataView(dt);

// 利用DataRelation求汇总表格
System.Data.DataTabledtGroup1 = dt.DefaultView.ToTable( true , " ID " );
dtGroup1.TableName
= " Table2 " ;
ds.Tables.Add(dtGroup1);
System.Data.DataRelationdr
= new DataRelation( " relation " ,dtGroup1.Columns[ " ID " ],dt.Columns[ " ID " ]);
ds.Relations.Add(dr);
dtGroup1.Columns.Add(
" 总积分 " ).Expression = " sum(child(relation).积分) " ;
dtGroup1.Columns.Add(
" 板块数 " ).Expression = " count(child(relation).板块) " ;
this .dataGridView3.DataSource = dtGroup1;

}


void comboBox1_SelectedIndexChanged( object sender,EventArgse)
... {
// 设置combobox2和comboBox1同步
System.Data.DataViewdv = this .comboBox2.DataSource as DataView;
dv.RowFilter
= string .Format( " ID='{0}' " , this .comboBox1.Text);
// 设置dataGridView2和comboBox1同步
dv = this .dataGridView2.DataSource as DataView;
dv.RowFilter
= string .Format( " ID='{0}' " , this .comboBox1.Text);

}

}

}
分享到:
评论

相关推荐

    C#开发经验技巧宝典

    第18章 程序应用控制 483 18.1 提取信息 484 0795 判断驱动器类型并获取其属性 484 0796 如何得到本地机器的IP 484...0992 使用DataView对数据进行检索和排序 576 0993 使用DataSet建立DataTable明细表 576

    C#编程经验技巧宝典

    C#编程经验技巧宝典源代码,目录如下: 第1章 开发环境 1 &lt;br&gt;1.1 Visual Studio开发环境安装与配置 2 &lt;br&gt;0001 安装Visual Studio 2005开发环境须知 2 &lt;br&gt;0002 配置合适的Visual Studio 2005...

    C#数据绑定控件中的DataSource属性浅谈

    常用的C#数据绑定控件有:Repeater、DataList、GridView、DetailsView等,在这里我拿Repeater来简单说明问题。使用该属性指定用来填充Repeater控件的数据源。DataSource可以是任何System.Collections.IEnumerable对象...

    Active Report

    DataView,DataTable和任何IListSource 控件数据源属性能在运行时修改,生成ad hoc(动态)报表灵活的非绑定数据预览和输出-容易显示支持C#代码小型部署程序集,适用于Internet 上使用TOC/Bookmarks超链接输出过滤...

    C#实训教程

    很好的C#培训教程,适合初学者使用 目 录 1 .NET体系结构 7 1.1 什么是.NET Framwork? 7 1.2 .NET Framework的内容 7 1.3 如何用.NET Framework编写应用程序 8 1.4 MSIL和JIT 8 1.5 程序集 9 1.6 托管代码 9 1.7 ...

    ActiveReports for .NET--灵活强大的.Net 报表制作控件

    绑定到Dataset,DataView,DataTable和任何IListSource 控件 数据源属性能在运行时修改,生成ad hoc(动态)报表 灵活的非绑定数据 预览和输出-容易显示 支持C#代码 小型部署程序集,适用于Internet 上...

    LINQ 实战 1/11

    14.5.2 使用AsDataView实现双向数据绑定 408 14.6 在LINQ to DataSet中使用查询操作符 410 14.6.1 用于DataRow的FieldT和SetFieldT操作符 410 14.6.2 集合操作符以及用DataRowComparer比较DataRow 411 14.7...

    asp.net面试题

    例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。 5.概述o/r mapping 的原理 利用反射,配置 将类于数据库表映射 6.类成员有...

    【。net 专业】 面试题

    创建一个基于这个DataTable对象的新的DataView并将这个DataView的Sort属性设置为“ProductName DESC”。然后将这个DataView对象绑定到DataGrid控件。  C. 将DataGrid控件的AllowSorting属性设置为True,并将...

    wpf源码大全 精通C#3.0图书源码 详细源码 学习好用

    UseDataView 演示通过LINQ实现DataView的数据查询和绑定。 第6章(\C06) 示例描述:本章介绍LINQ to XML相关技术和使用。 CreateSimpleXMLTree 演示通过XElement创建简单的XML树。 CreateAttributeElement ...

    ASP.NET 2.0+SQL Server 2005全程指南-源代码

    2.3 C#语言中的变量和常量 2.3.1 变量 2.3.2 常量 2.4 C#语言中的操作符和表达式 2.4.1 赋值运算符 2.4.2 算术运算符 2.4.3 比较(关系)运算符 2.4.4 逻辑运算符 2.4.5 位运算符 2.5 C#语言中的控制...

    ObjectListView:对象的 .NET DataView

    它允许您将自己的类列表(例如 List)绑定到 DataGridView 并获得列表的排序、过滤视图,而无需使用中间 DataTable。 ObjectListView 是 IBindingListView 的完整实现。 有关如何使用它的示例,请参阅演示代码和...

    使用ajax局部刷新gridview进行数据绑定示例

    具体代码如下:  代码如下: &lt;&#37; @ Page Language = ” C# ” %&gt; &lt;!...&lt; script runat =”server” ... System.Data.DataView CreateDataSourceByXianhuiMeng() { System.Data.DataTable dt = new System

    ASP.NET 控件的使用

    8.4 模板和数据绑定表达式 241 8.4.1 使用模板 241 8.4.2 使用数据绑定表达式 244 8.4.3 使用两种数据绑定表达式 247 8.5 SQL Server 2005 Express 概述 248 8.5.1 SQL Server Express 特性 248 8.5.2 SQL Server ...

    ado[1].net中文手册 学习 ado.net的重要资料

    创建和使用 DataView:描述如何创建 DataTable 中数据的动态视图,这些视图通常用于数据绑定应用程序。 创建 DataView:描述如何为 DataTable 创建 DataView。 使用 DataView 对数据排序和筛选:描述如何设置 ...

    ASPNET35开发大全第一章

    3.2.2 创建一个类和其方法 3.2.3 类成员 3.2.4 构造函数和析构函数 3.3 对象的生命周期 3.3.1 类成员的访问 3.3.2 类的类型 3.3.3 .NET的垃圾回收机制 3.4 使用命名空间 3.4.1 为什么要用命名空间 3.4.2 创建命名...

    ADO.NET 2.0技术内幕(高清 中文 带书签 全)

    本书作为全面的技术内幕参考书,提供了专家指南、实用指令及用Visual c#和Visual Basic编写的代码示例,帮助您深入掌握如何开发Micrsoft Windows和Web数据库应用程序。 本书重要主题:在Microsoft Visual Studio ...

    ASP.NET 3.5 开发大全word课件

    这是整部学习资料 由于太大第一章免费供应给大家 在我的上传资源中 如果觉得还不过希望大家给个好评 当然具体本书的作者就不深究了把! 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP...

Global site tag (gtag.js) - Google Analytics