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. CSS中position详解与常见应用实现

    在web前台开发时候,我们必不可少的会用到postion属性进行布局定位.今天总结了一下position知识点,与常用功能与大家分享,欢迎大家交流指正. 首先我们对postion属性进行详解. 在CS ...

  2. error -27257: Pending web_reg_save_param/reg_find/create_html_param[_ex] request(s) detected and reset at the end of iteration number 1

    检查点函数  web_reg_find("Search=body",     "savecount=num",     "Text=test1&quo ...

  3. 52. 模版和设计元素——Lotus Notes的代码重用

    不论是理论上还是实用上,代码重用都是编程的一个重要议题.可以从两个角度来讨论代码重用. 一是逻辑上代码以怎样的方式被重用.既可以通过面向对象的思想普及以来耳熟能详的继承的方式.比如先建了一个车的基类, ...

  4. C#用链式方法

    C#用链式方法表达循环嵌套   情节故事得有情节,不喜欢情节的朋友可看第1版代码,然后直接跳至“三.想要链式写法” 一.起缘 故事缘于一位朋友的一道题: 朋友四人玩LOL游戏.第一局,分别选择位置:中 ...

  5. 改变TPageControl的活动标签颜色

    设置PageControl的owndraw属性为TRUE. procedure TForm1.pgc1DrawTab(Control: TCustomTabControl; TabIndex: Int ...

  6. Mysql 执行计划分析

    zjdev 正常访问: mysql> explain SELECT temp.* , -> (SELECT COUNT(sn) FROM AssignClientManager WHERE ...

  7. IOS UITableView单条刷新,数据不刷新解决方案

    在使用 UITableView 进行某设置页面的设计时,由于设计页面有固定的section个数和row个数,而数据又需要根据用户的修改情况进行改变,所以我们往往不会为每个cell单独写一个类,而是直接 ...

  8. linux下编译原理分析

    linux下编译hello.c 程序,使用gcc hello.c,然后./a.out就能够执行:在这个简单的命令后面隐藏了很多复杂的过程,这个过程包含了以下的步骤: ================= ...

  9. Oracle实用-01:绑定变量

    数据库虽然在学校系统学习过,但是在工作中真正使用起来收获又是不一样的,今天起打算将项目中使用到的技术再分享出来,不以书本的顺序,只从碰到的问题为顺序. 虽然不是纯粹的数据库工程师,但是每个程序员总免不 ...

  10. MySQL 创建函数(Function)

    目标 怎么样MySQL创建数据库功能(Function) 语法 CREATE FUNCTION func_name ( [func_parameter] ) //括号是必须的,參数是可选的 RETUR ...