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. java调用C#的dll

    链接地址:http://www.cnblogs.com/yinhaiming/articles/1712463.html .net产生的比java晚,其类库的封装在某些方面也比java更优秀,更全面. ...

  2. [置顶] 让导入的Android项目,运行起来的方法。

    Eclipse里面直接import的代码,不能运行出现如下错误: [2013-12-12 12:58:55 - Dex Loader] Unable to execute dex: java.nio. ...

  3. AOP编程,spring实现及JDK,CGLIB实现

    什么是AOP? AOP(Aspect-OrientedProgramming,面向方面编程)和OOP(Object-Oriented Programing,面向对象编程)思想不同,两者并非对立关系,前 ...

  4. web端、android端的文件上传

    1.web端的文件上传. 这里是利用了第三方的jar包.这里所需要的jar包我已经上传到本博客的资源里了,以下是连接 http://download.csdn.net/detail/caihongsh ...

  5. CF卡技术详解——笔记

    知识太全面了,摘抄摘不完,还是粘过来加上注释和笔记吧. 重点以及断句用加粗,注释用红括号. 一.CF卡技术及规格 一.CF卡技术及规格 1.CF卡简史 随着数码产品的高速普及,近年来闪存卡也进入了高速 ...

  6. Windows server 2008 R2实现多用户远程连接

    原文 Windows server 2008 R2实现多用户远程连接 经常使用远程桌面的朋友可能会注意到,Windows server 2008 R2中,远程桌面最多只允许两个人远程连接,第三个人就无 ...

  7. .htaccess和license文件编写

    1 .htaccess 1.1 文件的位置 默认情况下放置于根目录 1.2 .htaccess文件的编写 1.2.1 错误页面跳转 ErrorDocument + 错误码 + 跳转路径/提示文字 eg ...

  8. 了解sota字符界面(章节4.1)

    4 SOTA操作 4.1 SOTA字符界面 sotaCC是字符界面管理sota系统程序 . 在/.../sota/bin/目录下,启动sotaCC.在终端的该目录下输入指令“./sotaCC”,启动s ...

  9. ZigBee研究之旅(一)

    *********************************************************************** 以下有引用webee公司的文档的内容,版权属于webee ...

  10. SetFocus、SetCapture和SetActiveView的区别

    1. SetActiveView是MFC框架内的一个函数, 而不是SDK中的函数, 也就是说SDK中没有ActiveView这个概念, 只有在MFC中才有2. SetFocus是SDK中的函数(当然M ...