`
pcajax
  • 浏览: 2168030 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

灵活使用DataView

阅读更多

灵活使用DataView

可能大家都知道dataview这个名词的概念,但也许不是很多人可以说清楚在.net架构中它的应用范围和程度。比如:究竟datagrid和repeater这些控件是如何和数据关联起来的?很多人会告诉我是通过dataset。这显然是正确的,但究竟最根本最直接的是通过什么联系起来的呢?

答案就是dataview。其实下面的语句:
DatagridTC.DataSource = dtRst;
DatagridTC.DataBind();
在工作的时候,它等效于:
DatagridTC.DataSource = ds.Tables[0].DefaultView;
DatagridTC.DataBind();

dataset都是通过数据视图将数据呈现在控件上面的。那如何才能做到物尽其用呢?如果通过灵活地使用dataview让我们的程序更简洁,性能更好呢?下面通过一个例子来说明:一段程序想实现将dataset已有的一个datatable重新排序。

某个写法是:
dt = ds.Tables[0].Copy();
                dt.Clear();

                
int intNewID = 0;
                
for(int intI = 0;intI < ds.Tables[0].Rows.Count;intI++)
                
{
                    dr 
= dt.NewRow();
                    dr[
"DateType"= ds.Tables[0].Rows[intI - 1 + 1]["DateType"].ToString();
                    dr[
"TCOrder"= ds.Tables[0].Rows[intI - 1 + 1]["TCOrder"].ToString();
                    dr[
"TimeClass_ID"= intNewID;
                    dr[
"TimeClass_Name"= ds.Tables[0].Rows[intI - 1 + 1]["TimeClass_Name"].ToString();
                    dr[
"Chn_NameLocal"= ds.Tables[0].Rows[intI - 1 + 1]["Chn_NameLocal"].ToString();
                    dr[
"User_Name"= ds.Tables[0].Rows[intI - 1 + 1]["User_Name"].ToString();
                    dr[
"User_ID"= ds.Tables[0].Rows[intI - 1 + 1]["User_ID"].ToString();
                    dt.Rows.Add(dr);
                    dt.AcceptChanges();
                    intNewID
++;
                }


                dtRst 
= dt.Copy();
                dtRst.Clear();
                FoundRow 
= dt.Select("1 = 1""TimeClass_Name, DateType, TCOrder");
                
for(int intI = 0;intI < FoundRow.Length;intI++)
                
{
                    dr 
= dtRst.NewRow();
                    dr[
"DateType"= FoundRow[intI]["DateType"].ToString();
                    dr[
"TCOrder"= FoundRow[intI]["TCOrder"].ToString();
                    dr[
"TimeClass_ID"= FoundRow[intI]["TimeClass_ID"].ToString();
                    dr[
"TimeClass_Name"= FoundRow[intI]["TimeClass_Name"].ToString();
                    dr[
"Chn_NameLocal"= FoundRow[intI]["Chn_NameLocal"].ToString();
                    dr[
"User_Name"= FoundRow[intI]["User_Name"].ToString();
                    dr[
"User_ID"= FoundRow[intI]["User_ID"].ToString();
                    dtRst.Rows.Add(dr);
                    dtRst.AcceptChanges();
                }


                DatagridTC.DataSource 
= dtRst;
                DatagridTC.DataBind();

另外一个写法是:
DataView dv = ds.Tables[0].DefaultView;
                dv.Sort 
= "TimeClass_Name, DateType, TCOrder";
                DatagridTC.DataSource 
= dv;
                DatagridTC.DataBind();

显然方法二从代码上就简洁多了,更重要的是它不要再新创建dataset等,减少了内存和CPU的消耗。

因此大家在遇到需要排序或者过滤数据的时候,要多想想可否使用dataview来实现了。

<script type="text/javascript"> if ($ != jQuery) { $ = jQuery.noConflict(); } var isLogined = false; var cb_blogId = 7691; var cb_entryId = 160881; var cb_blogApp = "jimmyhsu"; var cb_blogUserGuid = "bd8e310b-63cf-dd11-9e4d-001cf0cd104b"; var cb_entryCreatedDate = '2005/5/23 10:43:00'; </script>
分类: .net技术
分享到:
评论

相关推荐

    C#中灵活使用DataView

    ### C#中灵活使用DataView #### 一、DataView简介与作用 DataView是.NET框架中的一个核心组件,主要用于对DataSet或DataTable中的数据进行筛选、排序、分组等操作,而无需更改原始数据集。这使得开发人员能够在不...

    DATAVIEW使用

    本篇将详细阐述`DataView`的使用方法,包括其基本概念、创建、排序(Sort)、筛选(Filter)等核心知识点。 `DataView`是`DataSet`类的一个子集视图,它可以视为动态的数据表,允许开发者对数据进行灵活的操作而...

    dataview 使用ado.net 数据视图

    数据视图(DataView)是ADO.NET框架中的一个重要组件,它是DataSet对象的一个动态视图,提供了灵活的数据筛选、排序和分组功能。在ASP.NET开发中,DataView经常被用作数据绑定源,用于在用户界面展示数据。下面将...

    asp.net DataView 空间使用方法代码

    ASP.NET中的DataView是.NET Framework提供的一种非常灵活的数据绑定组件,它可以从DataTable对象中创建,并提供了对数据的筛选、排序和分组等功能。在Visual Studio 2005环境下,DataView的使用对于开发动态、交互式...

    C#使用DataBinding、DataView进行数据绑定一些实例.rar

    "C#使用DataBinding、DataView进行数据绑定一些实例"这个压缩包文件提供了关于如何在C#中利用DataBinding和DataView技术来实现数据绑定的具体示例。下面我们将详细探讨这两个概念以及它们在实际应用中的用法。 **...

    [C#]_DataView用法

    ### C#中DataView的使用方法详解 #### 一、DataView简介 在C#编程中,`DataView`是一个非常实用的类,它提供了一种灵活的方式来筛选、排序、分组以及搜索`DataTable`中的数据。对于那些不直接与数据库交互的数据...

    dataview用法

    Dataview 用法 Dataview 是一个强大的数据显示控件,广泛应用于 Windows 窗体应用程序中。以下是 Dataview 的一些常用用法: ...Dataview 是一个功能强大且灵活的数据显示控件,可以满足各种数据显示需求。

    dataView及其用法

    #### 三、使用DataView属性定制视图 DataView提供了多种属性来帮助开发者根据需求定制数据视图,其中最常用的是`RowFilter`和`Sort`属性。 - **RowFilter**:用于设置视图中的数据行筛选规则。这个属性接受一个...

    DataView详解-+实例

    DataView是一个非常灵活且强大的工具,它使得对DataTable中的数据进行操作变得简单而高效。无论是基本的筛选还是复杂的查询,DataView都能够满足需求。通过本篇文章的学习,希望能够帮助您更好地理解和掌握DataView...

    Dataview转换成Datatable

    这里使用了`hdnFM.Value`作为判断依据,这是一个可能来自Web页面隐藏字段的值,其值决定了过滤条件。如果`hdnFM.Value`等于"1",那么`dv1`的`RowFilter`属性被设置为`"PCDepath='"+mpcid+"'"`,这意味着所有`...

    DataView資料編輯器

    `DataView`对象通常与`DataTable`一起使用,作为`DataTable`的一个动态视图。 在描述中提到的"各種資源庫(數據庫)",这表明`DataView`可以与多种数据库进行交互,如SQL Server、Oracle、MySQL等,通过ADO.NET的数据...

    dataView详解

    它提供了一种灵活的方式来处理和控制数据源,如DataTable,允许用户进行排序、筛选、搜索和编辑数据。DataView并不是数据存储结构,而是数据视图,它动态地反映DataTable中的数据变化。 首先,DataView的排序功能...

    C#中DataView的应用

    `DataView`提供了灵活的数据筛选、排序和分组功能,使得开发者可以方便地对数据进行操作。本篇文章将深入探讨`DataView`在C#中的应用及其相关知识点。 首先,`DataView`是`System.Data`命名空间下的一个类,它是`...

    ADO.NET中的视图(DataView)和过滤器.pdf

    下面是一个简单的示例,展示了如何使用`DataView`的`RowFilter`和`Sort`属性: ```csharp // 创建一个新的 DataTable DataTable table = new DataTable(); table.Columns.Add("Name", typeof(string)); table....

    DataTable,DataView,DataGrid

    DataView可以根据表达式进行筛选,改变数据的排序顺序,并可以创建数据分组,使得在处理大量数据时更加灵活。DataView还可以用作数据绑定源,为控件如DataGrid提供数据。 `DataGrid`是一个用于显示和编辑数据的...

    dataview组件

    总的来说,dataview组件是Sencha Touch 2中用于数据可视化的核心组件,能够灵活地呈现和交互数据,适用于各种列表、卡片等场景。通过合理的配置和事件监听,可以实现丰富的用户界面和交互体验。

    把DataView转换成DataTable

    通常情况下,`DataTable` 是一个内存中的二维表格,它提供了类似数据库表的功能,而 `DataView` 则提供了一种灵活的方式来查看和操作 `DataTable` 的数据,例如排序、筛选等。 #### 转换过程详解 在给定的部分代码...

    C#将DataView生成Excel报表

    首先,`DataView`是.NET Framework中的一个类,它是`DataTable`的视图,提供了灵活的数据筛选、排序和格式化功能。当你从数据库(如SQL Server、Oracle或MySQL等)中检索数据时,通常会将结果集映射到`DataTable`,...

    DataView中的数据导入Excel

    在C#编程环境中,我们经常需要处理数据,而DataView作为一个强大的数据查看和操作工具,提供了灵活的数据展示方式。在实际应用中,我们可能需要将DataView中的数据导出到Excel,以便进行进一步分析或报告生成。这个...

Global site tag (gtag.js) - Google Analytics