DictionaryEntry类是一个字典集合,主要包括的内容是键/值对。这样的组合方式能够方便地定位数据,当中的“键”具备唯一性,类似于数据库中的“id”,一个id相应一天记录,而一个键仅仅相应一个值。

使用DictionaryEnry类能够方便地设置和检索数据。尽管被称为字典集合,但DictionaryEntry并不包括一组数据,而仅仅是一个“键/值”对,一般通过“IDictionaryEnumerator”、“IOrderedDictionary”或Hashtable来获取DictionaryEntry实例,这一点须要注意。

语法定义:

DictionaryEntry类的语法定义例如以下所看到的,注意其属于“struct”结构类型。

[SerializableAttribute]

[ComVisibleAttribute(true)]

public struct DictionaryEntry

DicctionaryEntry类的构造语法例如以下所看到的,当中key表示键,value表示值。

public DictionaryEntry (object key,object value)

使用DictionaryEntry类一般不用newkeyword实例化,而是使用“foreach”遍历的方法,从某一集合获取DictionaryEntry的实例,用法例如以下:

foreach(DictionaryEntry dic in e.Keys)

DictionaryEntry的属性

Key :字典的键,必须唯一

Value:字典的值。可通过检索“键”获取或设置

以下演示怎样在程序中使用DictionaryEntry类的这两个属性:

Response.Write("这是当前数据表格的键列表:<br/>");
int i =0;
foreach(DictionaryEntry dic in e.Keys)
{
//遍历并显示数据表格全部的键
i++;
Response.Write("第"+ i.ToString() + "个键为:" +dic.Key.ToString() +",值为:" + dic.Value.ToString());
}

用DictionaryEntry获取GridView中的数据更新

DictionaryEntry类通常不须要为自己设置数据,而是用来获取某一个集合中的数据。本例使用DictionaryEntry类实例化“IOderedDictionary”中的数据,当中“IOrderedDictionary”包括的是GridView的键和值。

在使用GridView更新数据时,须要注意例如以下三点。

1、被更新的记录的主键:主键用来确定更新的数据的唯一性。

2、更新记录的新数据:用在更新数据库语句中。

3、更新记录的旧数据:用来推断更新的一些条件,比方说数据等于1时不被更新。

通过上述三点,能够知道GridView更新数据的一些原理。在GridView更新事件中,提供三个參数来表示上面的三种数据,分别为“Keys”、“NewValues”、“OldValues”。这些数据都以“IOrderedDictionary”的形式存储。

本例要实现的功能是当前用户更新数据后,显示当前用户更新的数据,同一时候显示数据表格的主键,主要完毕的是一个提示功能。

在GridView的“Row_Updated”事件中,获取数据更新的键值,代码例如以下:

protected void GridView1_RowUpdated(object sender,GridViewUpdatedEventArgs e)
{
foreach(DictionaryEntry mydictionary in e.OldValues)
{
//显示改动前的数据
Response.Write("改动前的数据——" + mydictionary.Key.ToString() + ":" + mydictionary.Value.ToString());
} foreach(DictionaryEntry mydictionary in e.NewValues)
{
//显示改动后的数据
Response.Write("改动后的数据——" + mydictionary.Key.ToString() + ":" + mydictionary.Value.ToString());
} foreach(DictionaryEntry mydictionary in e.Keys)
{
//显示当前表格的主键——可能有多个,假设没有则无法更新
Response.Write("<br/>当前主键——" + mydictionary.Key.ToString() + ":" + mydictionary.Value.ToString());
} }

字典实体类:DictionaryEntry类的更多相关文章

  1. c# 实体处理工具类

    using System; using System.Collections; using System.Collections.Generic; using System.ComponentMode ...

  2. Python中xml、字典、json、类四种数据的转换

    最近学python,觉得python很强很大很强大,写一个学习随笔,当作留念注:xml.字典.json.类四种数据的转换,从左到右依次转换,即xml要转换为类时,先将xml转换为字典,再将字典转换为j ...

  3. 图解UML类与类之间的六中关系

    大话设计模式上的一个图,我用EA画出来的:  UML中的6大关系相关英文及音标:  依赖关系 dependency [di'pendənsi]  关联关系 association  [ə,səuʃi' ...

  4. 2.java面向对象类与类/类与对象之间关系详解

    继承.实现.依赖.关联.聚合.组合的联系与区别 下面的内容很基础,同时也很简单,但是也很重要. 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功 ...

  5. python 类与类之间的关系

    一.依赖关系(紧密程度最低) (1)简单的定义:就是方法中传递一个对象.此时类与类之间存在依赖关系,此关系比较低. (2)实例植物大战僵尸简易版 题目要求:创建一个植物,创建一个僵尸 1.植物:名字. ...

  6. java 类与类,类与接口 ,接口与接口关系

    类: 生活中类是人们对客观事物不断认识而产生的抽象概念,而对象则是现实生活中的一个个实体 面向对象程序设计中,对象是程序的基本单位,相似的对象像变量和类型的关系一样归并到一类,所以,并不先具体地定义对 ...

  7. JAVA类与类之间的全部关系简述+代码详解

    本文转自: https://blog.csdn.net/wq6ylg08/article/details/81092056类和类之间关系包括了 is a,has a, use a三种关系(1)is a ...

  8. UML类图及类与类之间的关系

    原文地址:http://www.uml.org.cn/oobject/201211231.asp 类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的 ...

  9. python学习 day017打卡 类与类之间的关系

    本节主要的内容: 1.依赖关系 2.关联关系,组合关系,聚合关系 3.继承关系,self到底是什么? 4.类中的特殊成员 一.类与类之间的依赖关系 在面向对象的世界中,类与类中存在以下关系: 1.依赖 ...

随机推荐

  1. js正则验证手机号码有效性

    验证130-139,150-159,180-189号码段的手机号码 <script type="text/javascript"> [-]{})|([-]{})|([- ...

  2. VS2008通过 map 和 cod 文件定位崩溃代码行

    VS 2005/2008使用map文件查找程序崩溃原因 一般程序崩溃可以通过debug,找到程序在那一行代码崩溃了,最近编一个多线程的程序,都不知道在那发生错误,多线程并发,又不好单行调试,终于找到一 ...

  3. javascript面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)

    面向对象可以把程序中的关键模块都视为对象,而模块拥有属性及方法.这样我们如果把一些属性及方法封装起来,日后使用将非常方便,也可以避免繁琐重复的工作.接下来将为大家讲解在JS中面向对象的实现.   工厂 ...

  4. css3 animation 参数详解

    animation: name 2s ease 0s 1 both有人知道这后面的参数都代表什么意思吗 name 就是你创建动画的名称 2S表示的时长 ease表示运动效果 0S表示延迟时间 1表示的 ...

  5. 机房收费系统总结之4——VB.NET 轻松解决判断文本框、组合框为空问题

    纵观机房收费系统,判断文本框.组合框为空问题无非两种情况.第一种:判断窗体中所有文本框.组合框是否为空.第二种:判断一部分文本框.组合框是否为空.下面看看是如何实现这两种情况的. 第一种:判断窗体中所 ...

  6. C++学习笔记3

    函数小结 : 函数是有名字的计算单元,对程序(就算是小程序)的结构化至关重要. 函数的定义由返回类型.函数名.形參表(可能为空)以及函数体组成.函数体是调用函数时运行的语句块. 在调用函数时,传递给函 ...

  7. 金蝶盘点机条码数据採集器PDA,WIFI已经连接,可是PDA应用程序还是网络初始化不成功?

    PDA任务栏里显示了小电脑.小电脑也是绿色的,为什么PDA还是网络初始化不成功呢? 1.须要检查下server的[PDA后台服务程序]是否打开?假设没有打开请打开[PDA后台服务程序]. 2.须要检查 ...

  8. wifi定位原理

    wifi定位和手机基站定位类别似,两者都需要收集wifi位置信息接入点. 其实WIFI奇妙,它靠的是侦測附近周围全部的无线网路基地台 (WiFi Access Point) 的 MAC Address ...

  9. shell oracle

    #!/bin/sh traffic= rm -rf test.txt data=`sqlplus -S anoscfg/anoscfg <<EOF spool test.txt set f ...

  10. smartforms长文本处理方式

    因为长文本的话不好换行,在smartforms中对于长文本的处理有两种:一种是自定义文本模板,自己定义好的文本格式,然后再使用的时候再文本类型中选择文本模板,最好是勾上如果没有文本存在怎无错误.这种方 ...