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. sql: sybase与oracle中insert into select和select into的用法

    1. sybase与oracle中insert into select和select into的用法 http://wjlvivid.iteye.com/blog/1921679 Sybase 一.首 ...

  2. MVC控制器里面使用dynamic和ExpandoObject

    MVC控制器里面使用dynamic和ExpandoObject 在很多时候,我们在数据库里面定义表字段和实际在页面中展示的内容,往往是不太匹配的,页面数据可能是多个表数据的综合体,因此除了我们在表设计 ...

  3. 基于visual Studio2013解决面试题之0602全排列

     题目

  4. Andorid Binder进程间通信---总结

    一.Server和Service Manager进程间通信 Service Manager进程启动时,已经创建了Service Manager实体对象,没有Service Manager本地对象. S ...

  5. 内省(一)之Introspector、BeanInfo、PropertyDescriptor

    内省(Introspector)是专门用来操作JavaBean属性的.不是所有的字段(Field)都能被称之为属性,只有某些字段具有getXXX或setXXX方法的才能称之为属性,当然要称为是一个Be ...

  6. Mac AppStore 登陆提示 未知错误

    Mac Book 登陆的时候提示未知错误,刚开始以为是需要内建网卡后来才得知: 如果是黑苹果,或者是网卡没有对应上的,需要内建网卡 mac 系统默认的是无线网卡en0 其他都网卡 以此类推 如果是ma ...

  7. C中程序的内存分配

    一.预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈. ...

  8. linux kernel的函数与抽象层

    在数学领域,函数是一种关系,这种关系使一个集合里的每一个元素对应到另一个(可能相同的)集合里的唯一元素. 在C语言中函数也有这种联系.自变量影响着因变量. 在linux内核驱动编程经常会有抽象层的概念 ...

  9. JAVA网络爬虫WebCollector深度解析——爬虫内核

    WebCollector爬虫官网:https://github.com/CrawlScript/WebCollector 技术讨论群:250108697 怎样将爬虫内核导入自己的项目? 1.进入爬虫官 ...

  10. Windows系统版本号判定那些事儿

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...