有这样一段XAML代码:
|
1
2
3
4
5
6
|
<DataGrid DataContext=
"{Binding AlertHistoryList}"
ItemsSource=
"{Binding}"
>
<DataGridTextColumn Header=
"部件"
Binding=
"{Binding PartName}"
/>
<DataGridTextColumn Header=
"预警时间"
Binding=
"{Binding AlertTimeStr}"
/>
<DataGridTextColumn Header=
"预警公式"
Binding=
"{Binding Expression}"
/>
<DataGridTextColumn Header=
"处理人"
Binding=
"{Binding Content}"
/>
</DataGrid>
|
其中 AlertHistoryList 是 ObservableCollection<T> 类型,作为 DataGrid 的DataContext。
但是运行时抛出以下异常:
在使用 ItemsSource 之前,项集合必须为空。
原因是:没有将 DataGridTextColumn 嵌套在 DataGrid.Columns 中。
正确写法如下:
|
1
2
3
4
5
6
7
8
|
<DataGrid DataContext=
"{Binding AlertHistoryList}"
ItemsSource=
"{Binding}"
AutoGenerateColumns=
"False"
>
<DataGrid.Columns>
<DataGridTextColumn Header=
"部件"
Binding=
"{Binding PartName}"
/>
<DataGridTextColumn Header=
"预警时间"
Binding=
"{Binding AlertTimeStr}"
/>
<DataGridTextColumn Header=
"预警公式"
Binding=
"{Binding Expression}"
/>
<DataGridTextColumn Header=
"处理人"
Binding=
"{Binding Content}"
/>
</DataGrid.Columns>
</DataGrid>
|
<DataGrid.Columns>
<DataGridTemplateColumn Width="55" Header="序号" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow}}, Path=Header}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10,0,0,0"></TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
最后在xaml的datagrid中添加LoadingRow事件,然后在.cs文件里添加LoadingRow事件的具体动作
private void ImgInfo_datagrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
e.Row.Header = (e.Row.GetIndex() + 1).ToString();
}
12篇学通csharp网络编程——第四篇 TCP应用编程 12篇学通csharp网络编程——第三篇 HTTP应用编程(下) 12篇学通csharp网络编程——第二篇 HTTP应用编程(上) 12篇学通csharp网络编程——第一篇 基础之进程线程 Lucene(1)lucene,你也会(7篇)——第一篇 快速入门 MongoDB(8)8天学通MongoDB——第八天 驱动实践 8天学通MongoDB——第七天 运维技术 8天学通MongoDB——第六天 分片技术 8天学通MongoDB——第五天 主从复制 8天学通MongoDB——第四天
索引
操作 8天学通MongoDB——第三天 细说高级操作 8天学通MongoDB——第二天 细说增删查改 8天学通MongoDB——第一天 基础入门 UML系
列
(4)团队沟通利器之UML——类图 团队沟通利器之UML—— 序
列
图 团队沟通利器之UML——用例图 团队沟通利器之UML——活动图 wcf系
列
(5)wcf系
列
学习5天速成——第五天 服务托管 wcf系
列
学习5天速成——第四天 wcf之分布式架构 wcf系
列
学习5天速成——第三天 事务的使用 wcf系
列
5天速成——第二天 binding的使用(2) wcf系
列
5天速成——第一天 binding的使用(1)
wpf
系
列
(8)8天入门
wpf
—— 第八天 最后的补充 8天入门
wpf
—— 第七天 画刷 8天入门
wpf
—— 第六天 细说控件 8天入门
wpf
—— 第五天
数据
绑
定
8天入门
wpf
—— 第四天 模板 8天入门
wpf
—— 第三天 样式 8天入门
wpf
—— 第二天 xaml详解 8天入门
wpf
—— 第一天 基础概念介绍 并
行
开发(8)8天玩转并
行
开发——第八天 用VS性能向导解剖你的程序 8天玩转并
行
开发——第七天 简要分析任务与线程池 8天玩转并
行
开发——第六天 异步编程模型 8天玩转并
行
开发——第五天 同步机制(下) 8天玩转并
行
开发——第四天 同步机制(上) 8天玩转并
行
开发——第三天 plinq的使用 8天玩转并
行
开发——第二天 Task的使用 8天玩转并
行
开发——第一天 Parallel的使用 多线程系
列
(5)5天不再惧怕多线程——第五天 线程池 5天不再惧怕多线程——第四天 信号量 5天不再惧怕多线程——第三天 互斥体 5天不再惧怕多线程——第二天 锁机制 5天不再惧怕多线程——第一天 尝试Thread 经典算法专题(21)经典算法题每日演练——第二十一题 十字链表 经典算法题每日演练——第二十题 三元组 经典算法题每日演练——第十九题 双端队
列
经典算法题每日演练——第十八题 外排序 经典算法题每日演练——第十七题 Dijkstra算法 经典算法题每日演练——第十六题 Kruskal算法 经典算法题每日演练——第十五题 并查集 经典算法题每日演练——第十四题 Prim算法 经典算法题每日演练——第十三题 赫夫曼树 经典算法题每日演练——第十二题 线段树 经典算法题每日演练——第十一题 Bitmap算法 经典算法题每日演练——第十题 树状数组 经典算法题每日演练——第九题 优先队
列
经典算法题每日演练——第八题 AC
自动
机 经典算法题每日演练——第七题 KMP算法 经典算法题每日演练——第六题 协同推荐SlopeOne 算法 经典算法题每日演练——第五题 字符串相似度 经典算法题每日演练——第四题 最长公共子序
列
经典算法题每日演练——第三题 猴子吃桃 经典算法题每日演练——第二题 五家共井 经典算法题每日演练——第一题 百钱买百鸡 开发利器系
列
(1)介绍一个小工具 Linqer 那点所谓的分布式(2)那点所谓的分布式——memcache 那点所谓的分布式——redis 树结构专题(5)6天通吃树结构—— 第五天 Trie树 6天通吃树结构—— 第四天 伸展树 6天通吃树结构—— 第三天 Treap树 6天通吃树结构—— 第二天 平衡二叉树 6天通吃树结构—— 第一天 二叉查找树 算法速成系
列
(15)算法系
列
15天速成——第十五天 图【下】(大结局) 算法系
列
15天速成——第十四天 图【上】 算法系
列
15天速成——第十三天 树操作【下】 算法系
列
15天速成——第十二天 树操作【中】 算法系
列
15天速成——第十一天 树操作(上) 算法系
列
15天速成——第十天 栈 算法系
列
15天速成——第九天 队
列
算法系
列
15天速成——第八天 线性表【下】 算法系
列
15天速成——第七天 线性表【上】 算法系
列
15天速成——第六天 五大经典查找【下】 算法系
列
15天速成——第五天 五大经典查找【中】 算法系
列
15天速成——第四天 五大经典查找【上】 算法系
列
15天速成——第三天 七大经典排序【下】 算法系
列
15天速成——第二天 七大经典排序【中】 算法系
列
15天速成——第一天 七大经典排序【上】 算法洗脑系
列
(8)算法洗脑系
列
(8篇)——第八篇 概率思想 算法洗脑系
列
(8篇)——第七篇 动态规划 算法洗脑系
列
(8篇)——第六篇 回溯思想 算法洗脑系
列
(8篇)——第五篇 分治思想 算法洗脑系
列
(8篇)——第四篇 枚举思想 算法洗脑系
列
(8篇)——第三篇 贪心思想 算法洗脑系
列
(8篇)——第二篇 递归思想 算法洗脑系
列
(8篇)——第一篇 递推思想 天籁数学(3)天籁数学——数
列
篇(3) 天籁数学——数
列
篇(2) 天籁数学——数
列
篇(1) 图形图像(1)玩玩图形图像——第一篇:图片灰度化 小爬虫系
列
(4)玩玩小爬虫——抓取时的几个小细节 玩玩小爬虫——抓取动态页面 玩玩小爬虫——试搭小架构 玩玩小爬虫——入门
5.5 单选控件和单选组控件(RadioButton和RadioButtonList)
5.5.1 单选控件(RadioButton)
5.5.2 单选组控件(RadioButtonList)
5.6 复选框控件和复选组控件(CheckBox和CheckBoxList)
5.6.1 复选框控件(CheckBox)
5.6.2 复选组控件(CheckBoxList)
5.7
列
表控件(DropDownList,ListBox和BulletedList)
5.7.1 DropDownList
列
表控件
5.7.2 ListBox
列
表控件
5.7.3 BulletedList
列
表控件
5.8 面板控件(Panel)
5.9 占位控件(PlaceHolder)
5.10 日历控件(Calendar)
5.10.1 日历控件的样式
5.10.2 日历控件的事件
5.11 广告控件(AdRotator)
5.12 文件上传控件(FileUpload)
5.13 视图控件(MultiView和View)
5.14 表控件(Table)
5.15 向导控件(Wizard)
5.15.1 向导控件的样式
5.15.2 导航控件的事件
5.16 XML控件
5.17 验证控件
5.17.1 表单验证控件(RequiredFieldValidator)
5.17.2 比较验证控件(CompareValidator)
5.17.3 范围验证控件(RangeValidator)
5.17.4 正则验证控件(RegularExpressionValidator)
5.17.5 自
定
义逻辑验证控件(CustomValidator)
5.17.6 验证组控件(ValidationSummary)
5.18 导航控件
5.19 其他控件
5.19.1 隐藏输入框控件(HiddenField)
5.19.2 图片热点控件(ImageMap)
5.19.3 静态标签控件(Lieral)
5.19.4 动态缓存更新控件(Substitution)
5.20 小结
第6章 Web窗体的高级控件
6.1 登录控件
6.1.1 登录控件(Login)
6.1.2 登录名称控件(LoginName)
6.1.3 登录视图控件(LoginView)
6.1.4 登录状态控件(LoginStatus)
6.1.5 密码恢复控件(PasswordRecovery)
6.1.6 密码更改控件(ChangePassword)
6.1.7 生成用户控件(CreateUserWizard)
6.2 网站管理工具
6.2.1 启动管理工具
6.2.2 用户管理
6.2.3 用户角色
6.2.4 访问规则管理
2.6.5 应用程序配置
6.3 使用登录控件
6.3.1 生成用户控件(CreateUserWizard)
6.3.2 密码更改控件(ChangePassword)
6.4 小结
第三篇
数据
操作篇
第7章
数据
库与ADO.NET基础
7.1
数据
库基础
7.1.1 结构化查询语言
7.1.2 表和视图
7.1.3 存储过程和触发器
7.2 使用SQL Server 2005 管理
数据
库
7.2.1 初步认识SQL Server 2005
7.2.2 创建
数据
库
7.2.3 删除
数据
库
7.2.4 备份
数据
库
7.2.5 还原
数据
库
7.2.6 创建表
7.2.7 删除表
7.2.8 创建
数据
库关系图
7.3 ADO.NET连接SQL
数据
库
7.3.1 ADO.NET基础
7.3.2 连接SQL
数据
库
7.3.3 ADO.NET过程
7.4 ADO与ADO.NET
7.4.1 ADO概述
7.4.2 ADO.NET与ADO
7.5 ADO.NET 常用对象
7.6 Connection连接对象
7.6.1 连接SQL
数据
库
7.6.2 连接Access
数据
库
7.6.3 打开和关闭连接
7.7 DataAdapter适配器对象
7.8 Command执
行
对象
7.8.1 ExecuteNonQuery方法
7.8.2 ExecuteNonQuery执
行
存储过程
7.8.3 ExecuteScalar方法
7.9 DataSet
数据
集对象
7.9.1 DataSet
数据
集基本对象
7.9.2 DataTable
数据
表对象
7.9.3 DataRow
数据
行
对象
7.9.4 DataView
数据
视图对象
7.10 DataReader
数据
访问对象
7.10.1 DataReader对象概述
7.10.2 DataReader读取
数据
库
7.10.3 异常处理
7.11 连接池概述
7.12 参数化查询
7.13 小结
第8章 Web窗体的
数据
控件
8.1
数据
源控件
8.1.1 SQL
数据
源控件(SqlDataSource)
8.1.2 Access
数据
源控件(AccessDataSource)
8.1.3 目标
数据
源控件(ObjectDataSource)
8.1.4 LINQ
数据
源控件(LinqDataSource)
8.1.5 Xml
数据
源控件(XmlDataSource)
8.1.6 站点导航控件(SiteMapDataSource)
8.2 重复
列
表控件(Repeater)
8.3
数据
列
表控件(DataList)
8.4
数据
列
表控件(GridView)
8.5
数据
绑
定
控件(FormView)
8.6
数据
绑
定
控件(DetailsView)
8.7
数据
绑
定
控件(ListView)
8.8
数据
绑
定
控件(DataPager)
8.9 小结
第9章 ASP.NET操作
数据
库
9.1 使用ADO.NET操作
数据
库
9.1.1 使用ExecuteReader()操作
数据
库
9.1.2 使用ExecuteNonQuery()操作
数据
库
9.1.3 使用ExecuteScalar()操作
数据
库
9.1.4 使用ExecuteXmlReader()操作
数据
库
9.2 ASP.NET创建和插入记录
9.2.1 SQL INSERT
数据
插入语句
9.2.2 使用Command对象更新记录
9.2.3 使用DataSet
数据
集插入记录
9.3 ASP.NET更新
数据
库
9.3.1 SQL UPDATE
数据
更新语句
9.3.2 使用Command对象更新记录
9.3.3 使用DataSet
数据
集更新记录
9.4 ASP.NET删除
数据
9.4.1 SQL DELETE
数据
删除语句
9.4.2 使用Command对象删除记录
9.4.3 使用DataSet
数据
集删除记录
9.5 使用存储过程
9.5.1 存储过程的优点
9.5.2 创建存储过程
9.5.3 调用存储过程
9.6 ASP.NET
数据
库操作实例
9.6.1 制作用户界面(UI)
9.6.2 使用GridView显示、删除、修改
数据
9.6.3 使用DataList显示
数据
9.6.4 DataList分页实现
9.6.5 使用SQLHelper操作
数据
库
9.7 小结
第10章 访问其他
数据
源
10.1 使用ODBC .NET Data Provider
10.1.1 ODBC .NET Data Provider简介
10.1.2 建立连接
10.2 使用OLE DB.NET Data Provider
10.2.1 OLE DB.NET Data Provider简介
10.2.2 建立连接
10.3 访问MySql
10.3.1 MySql简介
10.3.2 建立连接
10.4 访问Excel
10.4.1 Excel 简介
10.4.2 建立连接
10.5 访问txt
10.5.1 使用ODBE.NET Data Provider连接txt
10.5.2 使用OLE DB .NET Data Provider 连接txt
10.5.3 使用System.IO命名空间
10.6 访问SQLite
10.6.1 SQLite简介
10.6.2 SQLite连接方法
10.7 小结
第四篇 ASP.NET网络编程
第11章 用户控件和自
定
义控件
11.1 用户控件
11.1.1 什么是用户控件
11.1.2 编写一个简单的控件
11.1.3 将Web窗体转换成用户控件
11.2 自
定
义控件
11.2.1 实现自
定
义控件
11.2.2 复合自
定
义控件
11.3 用户控件和自
定
义控件的异同
11.4 用户控件示例
11.4.1 ASP.NET登录控件
11.4.2 ASP.NET登录控件的开发
11.4.3 ASP.NET登录控件的使用
11.5 自
定
义控件实例
11.5.1 ASP.NET分页控件
11.5.2 ASP.NET分页控件的使用
11.6 小结
第12章 ASP.NET的皮肤、主题和母版页
12.1 皮肤和主题
12.1.1 CSS简介
12.1.2 CSS基础
12.1.3 CSS常用属性
12.1.4 将CSS应用在控件上
12.1.5 主题和皮肤
12.1.6 页面主题和全局主题
12.1.7 应用和禁用主题
12.1.8 用编程的方法控制主题
12.2 母版页
12.2.1 母版页基础
12.2.2 内容窗体
12.2.3 母版页的运
行
方法
12.2.4 嵌套母版页
12.3 Microsoft Expression 2
12.3.1 Microsoft Expression 2简介
12.3.2 安装Microsoft Expression 2
12.4 使用Microsoft Expression Web 2制作页面
12.4.1 创建ASPX页面
12.4.2 创建CSS层叠样式表
12.4.3 创建框架集
12.5 小结
第13章 ASP.NET内置对象,应用程序配置和缓存
13.1 ASP.NET内置对象
13.1.1 Request传递请求对象
13.1.2 Response请求响应对象
13.1.3 Application状态对象
13.1.4 Session状态对象
13.1.5 Server服务对象
13.1.6 Cookie状态对象
13.1.7 Cache缓存对象
13.1.8 Global.asax配置
13.2 ASP.NET应用程序配置
13.2.1 ASP.NET应用程序配置
13.2.2 Web.config配置文件
13.2.3 ASP.NET基本配置节
13.3 ASP.NET缓存功能
13.3.1 缓存概述
13.3.2 页面输出缓存
13.3.3 页面部分缓存
13.3.4 应用程序
数据
缓存
13.3.5 检索应用程序
数据
缓存对象
13.4 小结
第14章 ASP.NET XML和Web Service
14.1 XML简介
14.2 读写XML
14.2.1 XML与HTML
14.2.2 创建XML文档
14.2.3 XML控件
14.2.4 XML文件读取类(XmlTextReader)
14.2.5 XML文件编写类(XmlTextWriter)
14.2.6 XML文本文档类(XmlDocument)
14.3 XML串
行
化
14.3.1 XmlSerializer串
行
化类
14.3.2 基本串
行
化
14.4 XML样式表XSL
14.4.1 XSL简介
14.4.2 使用XSLT
14.5 Web服务(Web Service)
14.5.1 什么是Web服务
14.5.2 Web服务体系结构
14.5.3 Web服务协议栈
14.6 简单Web Service示例
14.7 自
定
义Web Service
14.7.1 创建自
定
义的Web Service
14.7.2 使用自
定
义的Web Service
14.8 小结
第五篇 ASP.NET 3.5高级编程
第15章 图形图像编程
15.1 图形图像基础
15.1.1 图像布局
15.1.2 GDI+简介
15.1.3 绘制线条示例
15.1.4 .NET Framework绘图类
15.2 图形编程
15.2.1 Graphics类
15.2.2 绘制基本图形
15.2.3 图形绘制实例
15.3 绘制文字特效
15.3.1 投影特效
15.3.2 倒影特效
15.3.3 旋转特效
15.4 绘制图片
15.4.1 载入图像文件
15.4.2 GDI+输出图像
15.5 图像特效处理
15.5.1 底片效果
15.5.2 浮雕效果
15.6 小结
第16章 ASP.NET 3.5和AJAX
16.1 AJAX基础
16.1.1 什么是AJAX
16.1.2 ASP.NET AJAX入门
16.1.3 ASP.NET 2.0 AJAX
16.1.4 ASP.NET 3.5 AJAX
16.1.5 AJAX简单示例
16.2 ASP.NET 3.5AJAX控件
16.2.1 脚本管理控件(ScriptManger)
16.2.2 脚本管理控件(ScriptMangerProxy)
16.2.3 时间控件(Timer)
16.2.4 更新区域控件(UpdatePanel)
16.2.5 更新进度控件(UpdateProgress)
16.3 AJAX编程
16.3.1 自
定
义异常处理
16.3.2 使用母版页的UpdatePanel
16.3.3 母版页刷新内容窗体
16.4 小结
第17章 ASP.NET MVC基础
17.1 了解MVC
17.1.1 MVC和Web Form
17.1.2 ASP.NET MVC的运
行
结构
17.2 ASP.NET MVC基础
17.2.1 安装ASP.NET MVC
17.2.2 新建一个MVC应用程序
17.2.3 ASP.NET MVC应用程序的结构
17.2.4 运
行
ASP.NET MVC应用程序
17.3 ASP.NET MVC原理
17.3.1 ASP.NET MVC运
行
流程
17.3.2 ASP.NET MVC工作原理
17.4 ASP.NET MVC开发
17.4.1 创建ASP.NET MVC页面
17.4.2 ASP.NET MVC
数据
呈现(ViewData)
17.4.3 ASP.NET MVC 跨页
数据
呈现(TempData)
17.4.4 ASP.NET MVC页面重
定
向
17.4.5 ASP.NET MVC URL路由(URLRouting)
17.4.6 ASP.NET MVC控件辅助工具(Helper)
17.4.7 ASP.NET MVC表单传值
17.5 小结
第18章 WCF开发基础
18.1 了解WCF
18.1.1 什么是WCF
18.1.2 为什么需要WCF
18.2 WCF基础
18.2.1 服务
18.2.2 地址
18.2.3 契约
18.3 WCF应用
18.3.1 创建WCF应用
18.3.2 创建WCF方法
18.4 WCF消息传递
18.4.1 消息传递
18.4.2 消息操作
18.5 使用WCF服务
18.5.1 在客户端添加WCF服务
18.5.2 在客户端使用WCF服务
18.6 小结
第19章
WPF
开发基础
19.1 了解
WPF
19.1.1 什么是
WPF
19.2
WPF
的应用范围
19.2
WPF
和Microsoft Expression
19.2.1 使用Microsoft Expression Blend设计
WPF
19.2.2
WPF
控件样式
19.2.3 浅谈XAML
19.2.4
WPF
控件层次
19.3
WPF
应用程序开发
19.3.1
WPF
动画事件
19.3.2
WPF
时间轴
19.3.3
WPF
事件处理
19.4
WPF
系统开发
19.4.1
WPF
系统需求
19.4.2
WPF
界面开发
19.4.3
WPF
动画制作
19.4.4
WPF
事件编写
19.5 小结
第六篇 ASP.NET 3.5与LINQ
第20章 ASP.NET 3.5与LINQ
20.1 什么是LINQ
20.1.1 LINQ起源
20.1.2 LINQ构架
20.1.3 LINQ与Visual Studio 2008 新特性
20.2 LINQ与Web应用程序
20.2.1 创建使用LINQ的Web应用程序
20.2.2 基本的LINQ
数据
查询
20.2.3 IEnumerable和IEnumerable<T>接口
20.2.4 IQueryProvider和IQueryable<T>接口
20.2.5 LINQ相关的命名空间
20.3 Lambda表达式
20.3.1 匿名方法
20.3.2 Lambda表达式基础
20.3.3 Lambda表达式格式
20.3.4 Lambda表达式树
20.3.5 访问Lambda表达式树
20.4 小结
第21章 使用LINQ查询
21.1 LINQ查询概述
21.1.1 准备
数据
源
21.1.2 使用LINQ
21.1.3 执
行
LINQ查询
21.2 LINQ查询语法概述
21.3 基本子句
21.3.1 from查询子句
21.3.2 where条件子句
21.3.3 select选择子句
21.3.4 group分组子句
21.3.5 orderby排序子句
21.3.6 into连接子句
21.3.7 join连接子句
21.3.8 let临时表达式子句
21.4 LINQ查询操作
21.4.1 LINQ查询概述
21.4.2 投影操作
21.4.3 筛选操作
21.4.4 排序操作
21.4.5 聚合操作
21.5 使用LINQ查询和操作
数据
库
21.5.1 简单查询
21.5.2 建立连接
21.5.3 插入
数据
21.5.4 修改
数据
21.5.5 删除
数据
21.6 LINQ与MVC
21.6.1 创建ASP.NET MVC应用程序
21.6.2 创建LINQ to SQL
21.6.3
数据
查询
21.7 小结
第七篇 ASP.NET 3.5模块开发
第22章 注册模块设计
22.1 学习要点
22.2 系统设计
22.2.1 模块功能描述
22.2.2 模块流程分析
22.3
数据
库设计
22.3.1
数据
库的分析和设计
22.3.2
数据
表的创建
22.4 界面设计
22.4.1 基本界面
22.4.2 创建CSS
22.5 代码实现
22.5.1 验证控制
22.5.2 过滤输入信息
22.5.3 插入注册信息
22.5.4 管理员页面
22.6 实例演示
22.7 小结
第23章 登录模块设计
23.1 学习要点
23.2 系统设计
23.2.1 模块功能描述
22.2.2 模块流程分析
23.3
数据
库设计
23.3.1
数据
库设计分析
23.3.2
数据
库表的创建
23.4 界面设计
23.4.1 基本界面
23.4.2 创建CSS
23.4.3 发送密码页面
23.5 代码实现
23.5.1 登录代码实现
23.5.2 邮件发送页面
23.5.3 根据不同的用户显示不同的内容
23.6 实例演示
23.7 小结
第24章 广告模块设计
24.1 学习要点
24.2 系统设计
24.2.1 模块功能描述
24.2.2 模块流程分析
24.3
数据
库设计
24.3.1
数据
库设计分析
24.3.2
数据
库表的创建
24.4 界面设计
24.4.1 发布广告界面
24.4.2 发布广告页
数据
源配置
24.4.3 修改广告界面
24.4.4 管理广告界面
24.4.5 分类管理界面
24.5 代码实现
24.5.1 广告添加功能
24.5.2 广告修改功能
24.5.3 自
定
义控件的实现
24.6 实例演示
24.7 小结
第25章 新闻模块设计
25.1 学习要点
25.2 系统设计
25.2.1 模块功能描述
25.2.2 模块流程分析
25.3
数据
库设计
23.3.1
数据
库设计
25.3.2
数据
表的创建
25.4 界面设计
25.4.1 登录界面
25.4.2 后台框架集
25.4.3 新闻发布页面
25.4.4 新闻修改页面
25.4.5 新闻管理页面
25.4.6 新闻分类管理页面
25.5 代码实现
25.5.1 导航菜单配置
25.5.2 身份验证页面
25.5.3 新闻发布页面
25.5.4 静态生成功能
25.5.5 新闻显示页面
25.5.6 静态模板编写
25.6 实例演示
25.7 小结
第26章 投票模块设计
26.1 学习要点
26.2 系统设计
26.2.1 模块功能描述
26.2.2 模块流程分析
26.3
数据
库设计
26.3.1
数据
库设计
26.3.2
数据
表的创建
26.4 界面设计
26.4.1 后台框架集
26.4.2 投票管理页面
26.4.3 投票发布页面
26.4.4 投票修改页面
26.4.5 投票删除页面
26.5 代码实现
26.5.1 添加投票代码实现
26.5.2 修改投票代码实现
26.5.3 删除投票代码实现
26.5.4 显示投票代码实现
26.5.5 用户投票代码实现
26.6 实例演示
26.7 小结
第27章 聊天模块设计
27.1 学习要点
27.2 系统设计
27.2.1 模块功能描述
27.2.2 模块流程分析
27.3 界面设计
27.3.1 登录界面设计
27.3.2 登录界面CSS
27.3.3 聊天室显示界面
27.3.4 聊天室界面CSS
27.4 代码实现
27.4.1 登录代码实现
27.4.2 多人聊天代码实现
27.4.3 单人聊天代码实现
27.4.4 聊天记录保存实现
27.5 实例演示
27.6 小结
第六篇 ASP.NET 3.5应用实例
第28章 制作一个ASP.NET留言本
28.1 系统设计
28.1.1 需求分析
28.1.2 系统功能设计
28.1.3 模块功能划分
28.2
数据
库设计
28.2.1
数据
库的分析和设计
28.2.2
数据
表的创建
28.2.3
数据
表关系图
28.3 系统公用模块的创建
28.3.1 创建CSS
28.3.2 使用SQLHepler
28.3.3 配置Web.config
28.4 系统界面和代码实现
28.4.1 留言板用户控件
28.4.2 管理员登录实现
28.4.3 用户注册登录实现
28.4.4 用户登录实现
28.4.5 留言本界面布局
28.4.6 留言功能实现
28.4.7 回复功能实现
28.4.8 删除功能的实现
28.4.9 用户
索引
实现
28.5 用户体验优化
28.5.1 AJAX留言实现
28.5.2 AJAX
数据
重
绑
定
28.5.3 系统导航实现
28.5.4 侧边栏界面优化
28.6 用户功能实现
28.6.1 用户信息界面
28.6.2 用户信息修改实现
28.6.3 用户信息删除实现
28.6.4 用户注销
28.7 实例演示
28.7.1 准备
数据
源
28.7.2 基本实例演示
28.7.3 用户功能演示
28.8 小结
第29章 制作一个ASP.NET校友录系统
第29章 制作一个ASP.NET校友录系统
29.1 系统设计
29.1.1 需求分析
29.1.2 系统功能设计
29.1.3 模块功能划分
29.2
数据
库设计
29.2.1
数据
库分析和设计
29.2.2
数据
表的创建
29.3
数据
表关系图
29.4 系统公用模块的创建
29.4.1 使用Fckeditor
29.4.2 使用SQLHelper
29.4.3 配置Web.config
29.5 系统界面和代码实现
29.5.1 用户注册实现
29.5.2 用户登录实现
29.5.3 校友录页面规划
29.5.4 自
定
义控件实现
29.5.5 校友录页面实现
29.5.6 日志发布实现
29.5.7 日志修改实现
29.5.8 管理员日志删除
29.5.9 日志显示页面
29.5.10 用户
索引
页面
29.5.11 管理员用户删除
29.6 用户体验优化
29.6.1 超链接样式优化
29.6.2 默认首页优化
29.6.3 导航栏编写
29.6.4 AJAX留言优化
29.6.5 优化留言表情
29.7 高级功能实现
29.7.1 后台管理页面实现
29.7.2 日志管理实现
29.7.3 日志修改和删除实现
29.7.4 评论删除实现
29.7.5 板报功能实现
29.7.6 用户修改和删除实现
29.7.7 用户权限管理
29.7.8 权限及注销实现
29.8 实例演示
29.8.1 准备
数据
源
29.8.2 基本实例演示
29.8.3 管理后台演示
29.9 小结
国内多位微软MVP联手翻译...
本书提供作译者介绍
Andrew Troelsen世界级c#专家,微软VisuaI C#MVP。他是著名的微软技术咨询企业Intertech的合伙人和副总裁,该公司的客户包括微软、霍尼韦尔、美国宇航局等。他曾为MSDN网站和MacTech网站撰写了有关各种操作系统平台上.NET技术的文章,并经常在业界主要技术会议上发表f演讲和开设技术讲座。除本书外,他还撰写了COM and Net interoperabity和Visual Basic NET and the NET Platform An Advanced Guide等十多部NET技术方面的著作
本书是c#领域久负盛名的经典著作,深入全面地叙述了c#编程语言和.net平台核心,并以大量示例剖析相关概念。书中介绍了c#的各种语言构造、.net 2.0的类、核心api、公共中间语言(cil)、动态程序集和asp.net扩展等内容;同时也介绍了.net 3.0和.net 3.5中新的编程api,包括
wpf
、wcf和wf 的功能;另外,还介绍了最新的c# 3.0编程语言、linq编程技术、com与.net 的互操作性以及平台无关的.net开发。
本书由微软c# mvp andrew troelsen编写,历经多次修订,适合各层次.net开发人员阅读。
第一部分 c#和.net平台简介
第1章 net之道
1.1 net之前的世界
1.2 net解决方案
1.3 net平台构造块(clr、cts和cls)简介
1.4 其他支持.net的编程语言
1.5 net程序集概览
1.6 cts
1.7 cls
1.8 clr
1.9 程序集/命名空间/类型的区别
1.10 使用ildasm.exe探索程序集
1.11 使用lutz roeder的reflector来查看程序集
1.12 部署.net运
行
库
1.13 net的平台无关性
1.14 小结
第2章 构建c#应用程序
2.1 net framework 3.5 sdk的作用
2.2 用csc.exe构建c#应用程序
2.3 使用textpad构建.net应用程序
. 2.4 使用notepad++构建.net应用程序
2.5 使用sharpdevelop构建.net应用程序
2.6 使用visual c# 2008 express构建.net应用程序
2.7 使用visual studio 2008构建.net应用程序
2.8 其他.net开发工具
2.9 小结
第二部分 c#核心编程结构
第3章 c#核心编程结构ⅰ
3.1 一个简单的c#程序
3.2 有趣的题外话:system.environment类的其他成员
3.3 system.console类
3.4 系统
数据
类型和c#简化符号
3.5 system.string
数据
类型
3.6 窄化和宽化
数据
类型转换
3.7 c#迭代结构
3.8 条件结构和关系/相等运算符
3.9 小结
第4章 c#核心编程结构ⅱ
4.1 方法和参数修饰符
4.2 成员重载
4.3 c#中的数组操作
4.4 枚举类型
4.5 结构类型
4.6 值类型和引用类型
4.7 值类型和引用类型:最后的细节
4.8 c#可空类型
4.9 小结
第5章
定
义封装的类类型
5.1 c#类类型
5.2 类构造函数
5.3 this关键字的作用
5.4 static关键字
5.5
定
义oop的支柱
5.6 c#访问修饰符
5.7 第一个支柱:c#的封装支持
5.8 常量
数据
5.9 只读字段
5.10 c#的分部类型
5.11 通过xml生成c#源代码的文档
5.12 查看劳动成果
5.13 小结
第6章 继承和多态
6.1 继承的基本机制
6.2 回顾visual studio类关系图
6.3 第二个支柱:继承
6.4 包含/委托编程
6.5 第三个支柱:c#的多态支持
6.6 基类/派生类的转换规则
6.7 超级父类:system.object
6.8 小结
第7章 结构化异常处理
7.1 错误、bug与异常
7.2 net异常处理的作用
7.3 最简单的例子
7.4 配置异常的状态
7.5 系统级异常(system.systemexception)
7.6 应用程序级异常(system.applicationexception)
7.7 处理多个异常
7.8 finally块
7.9 谁在引发什么异常
7.10 未处理异常的后果
7.11 使用visual studio调试未处理的异常
7.12 小结
第8章 对象的生命周期
8.1 类、对象和引用
8.2 对象生命周期的基础
8.3 应用程序根的作用
8.4 对象的代
8.5 system.gc类型
8.6 构建可终结对象
8.7 构建可处置对象
8.8 构建可终结类型和可处置类型
8.9 小结
第三部分 c#高级编程结构
第9章 接口
9.1 接口类型
9.2
定
义自
定
义接口
9.3 实现接口
9.4 在对象级别调用接口成员
9.5 接口作为参数
9.6 接口作为返回值
9.7 接口类型数组
9.8 使用visual studio 2008实现接口
9.9 通过显式接口实现解决命名冲突
9.10
定
义接口层次结构
9.11 构建可枚举类型(ienumerable和ienumerator)
9.12 构建可克隆的对象(icloneable)
9.13 构建可比较的对象(icomparable)
9.14 回调接口
9.15 小结
第10章 集合与泛型
10.1 system.collections命名空间的接口
10.2 system.collections命名空间的类类型
10.3 system.collections.specialized命名空间
10.4 装箱、拆箱以及和system.object的关系
10.5 类型安全和强类型集合问题
10.6 system.collections.generic命名空间
10.7 创建自
定
义泛型方法
10.8 创建泛型结构和类
10.9 创建自
定
义泛型集合
10.10 创建泛型基类
10.11 创建泛型接口
10.12 小结
第11章 委托、事件和lambda
11.1 net委托类型
11.2 使用c#
定
义委托
11.3 system.multicastdelegate与system.delegate基类
11.4 最简单的委托示例
11.5 使用委托改造car类型
11.6 更复杂的委托示例
11.7 委托协变
11.8 创建泛型委托
11.9 c#事件
11.10 泛型eventhandlert委托
11.11 c#匿名方法
11.12 方法组转换
11.13 c# 3.0 lambda运算符
11.14 小结
第12章
索引
器、运算符和指针
12.1
索引
器方法
12.2 运算符重载
12.3 自
定
义类型转换
12.4 指针类型
12.5 c#预处理指令
12.6 小结
第13章 c# 3.0的语言功能
13.1 隐式类型局部变量
13.2
自动
属性
13.3 扩展方法
13.4 分部方法
13.5 对象初始化器
13.6 匿名类型
13.7 小结
第14章 linq
14.1 linq的作用
14.2 linq查询表达式初览
14.3 linq和泛型集合
14.4 linq和非泛型集合
14.5 查询运算符的内部表示
14.6 linq查询运算符
14.7 linq查询
14.8 小结
第四部分 使用.net程序集编程
第15章 .net程序集入门
15.1
定
义自
定
义命名空间
15.2 .net程序集的作用
15.3 .net程序集的格式
15.4 构建和使用单文件程序集
15.5 构建和使用多文件程序集
15.6 私有程序集
15.7 共享程序集
15.8 使用共享程序集
15.9 配置共享程序集
15.10 gac的内部结构
15.11 发
行
者策略程序集
15.12 codebase元素
15.13 system.configuration命名空间
15.14 机器配置文件
15.15 小结
第16章 类型反射、晚期
绑
定
和基于特性的编程
16.1 类型元
数据
的必要性
16.2 反射
16.3 构建自
定
义的元
数据
查看器
16.4 动态加载程序集
16.5 反射共享程序集
16.6 晚期
绑
定
16.7 特性编程
16.8 构建自
定
义特性
16.9 程序集级别(和模块级别)特性
16.10 使用早期
绑
定
反射特性
16.11 使用晚期
绑
定
反射特性
16.12 反射、晚期
绑
定
和自
定
义特性的使用背景
16.13 构建可扩展的应用程序
16.14 小结
第17章 进程、应用程序域和对象上下文
17.1 回顾传统的win32进程
17.2 net平台下与进程进
行
交互
17.3 net应用程序域
17.4 对象上下文边界
17.5 进程、应用程序域和上下文小结
17.6 小结
第18章 构建多线程应用程序
18.1 进程、应用程序域、上下文及线程之间的关系
18.2 net委托的简短回顾
18.3 委托的异步性
18.4 异步调用方法
18.5 system.threading命名空间
18.6 system.threading.thread类
18.7 以编程方式创建次线程
18.8 并发问题
18.9 使用timer callback编程
18.10 clr线程池
18.11 backgroundworker组件的作用
18.12 小结
第19章 cil和动态程序集的作用
19.1 cil编程的本质
19.2 cil指令、特性和操作码
19.3 入栈和出栈:cil基于栈的本质
19.4 正反向工程
19.5 cil指令和特性
19.6 net基类库、c#和cil
数据
类型的映射
19.7 在cil中
定
义成员
19.8 剖析cil操作码
19.9 使用cil构建.net程序集
19.10 动态程序集
19.11 小结
第五部分 .net基类库简介
第20章 文件输入输出和隔离存储
20.1 研究system.io命名空间
20.2 directory(info)和file(info)类型
20.3 使用directoryinfo类型
20.4 使用directory类型
20.5 使用driveinfo类类型
20.6 使用fileinfo类
20.7 使用file类型 533
20.8 stream抽象类 535
20.9 使用streamwriter和streamreader类型
20.10 使用stringwriter和stringreader
20.11 使用binarywriter和binaryreader
20.12 以编程方式“观察”文件
20.13 实现异步文件i/o操作
20.14 隔离存储的作用
20.15 代码访问安全入门
20.16 隔离存储概览
20.17 使用isolatedstoragefile获取存储
20.18 实战隔离存储:clickonce部署
20.19 小结
第21章 对象序
列
化
21.1 对象序
列
化
21.2 为序
列
化配置对象
21.3 选择序
列
化格式化程序
21.4 使用binaryformatter序
列
化对象
21.5 使用soapformatter序
列
化对象
21.6 使用xmlserializer序
列
化对象
21.7 序
列
化对象集合
21.8 自
定
义序
列
化过程
21.9 小结
第22章 ado.net之一:连接层
22.1 ado.net高层次
定
义
22.2 ado.net的
数据
提供程序
22.3 其他的ado.net命名空间
22.4 system.data命名空间的类型
22.5 使用接口抽象
数据
提供程序
22.6 创建autolot
数据
库
22.7 ado.net
数据
提供程序工厂模型
22.8 ado.net的连接式访问
22.9 使用
数据
读取器
22.10 构建可重用的
数据
访问库
22.11 创建控制台ui前端
22.12 使用sqlcommand进
行
异步
数据
访问
22.13
数据
库事务
22.14 小结
第23章 ado.net之二:断开连接层
23.1 ado.net断开连接层
23.2 dataset的作用
23.3 使用datacolumn
23.4 使用datarow
23.5 使用datatable
23.6 将datatable对象
绑
定
到用户界面
23.7 使用
数据
适配器填充dataset/ datatable
23.8 重访autolotdal.dll
23.9 切换多表dataset对象
23.10 visual studio 2008的
数据
访问工具
23.11 从ui层解耦
自动
生成的代码
23.12 小结
第24章 linq api编程
24.1 linq to ado.net的作用
24.2 使用linq to dataset编程
24.3 使用linq to sql编程
24.4 使用sqlmetal.exe生成实体类
24.5 使用visual studio 2008建立实体类
24.6 使用linq to xml操作xml文档
24.7 在内存文档中导航
24.8 小结
第25章 wcf
25.1 各种分布式计算api
25.2 wcf的作用
25.3 wcf核心程序集
25.4 visual studio wcf项目模板
25.5 wcf应用程序的基本构成
25.6 wcf的abc
25.7 构建wcf服务
25.8 承载wcf服务
25.9 构建wcf客户端应用程序
25.10 使用wcf服务库项目模板
25.11 以windows服务承载wcf服务
25.12 异步调用服务
25.13
定
义wcf
数据
契约
25.14 小结
第26章 wf
26.1
定
义业务流程
26.2 wf的构建块
26.3 wf程序集、命名空间和项
26.4 构建一个启用工作流的简单应用
26.5 wf引擎承载代码
26.6 在工作流中调用web服务
26.7 构建可重用的wf代码库
26.8 关于自
定
义活动的简要说明
26.9 小结
第六部分 桌面用户界面
第27章 windows forms编程
27.1 windows forms 命名空间
27.2 创建一个简单的windows forms 程序(不用ide)
27.3 visual studio windows forms项目模板
27.4 剖析form
27.5 响应鼠标活动
27.6 响应键盘活动
27.7 设计对话框
27.8 通过gdi+呈现图形
数据
27.9 创建一个完整的windows forms应用程序
27.10 小结
第28章
wpf
和xaml
28.1
wpf
背后的动机
28.2 各种形式的
wpf
应用程序
28.3
wpf
程序集
28.4 创建(不使用xaml的)
wpf
应用程序
28.5 application类型的其他细节
28.6 window类型的其他细节
28.7 构建(xaml相关的)
wpf
应用程序
28.8 将标记转换为.net程序集
28.9 使用代码隐藏文件实现的关注点的分离
28.10 xaml语法
28.11 使用visual studio 2008构建
wpf
应用程序
28.12 在运
行
时处理xaml:simplexaml- pad.exe
28.13 微软expression blend的作用
28.14 小结
第29章 使用
wpf
控件编程
29.1
wpf
控件库概述
29.2 使用xaml声明控件
29.3 依赖属性的作用
29.4 路由事件
29.5 使用button类型
29.6 使用checkboxe和radiobutton
29.7 使用listbox和combobox类型
29.8 使用文本区
29.9 使用面板进
行
内容布局
29.10 使用嵌套面板创建窗口框架
29.11
wpf
控件命令
29.12
wpf
数据
绑
定
模型
29.13 使用ivalueconverter进
行
数据
转换
29.14
绑
定
到自
定
义对象
29.15 将ui元素
绑
定
到xml文档
29.16 小结
第30章
wpf
2d图形呈现、资源和主题
30.1
wpf
图形呈现服务
30.2 探究shape派生类
30.3 使用
wpf
画刷
30.4 使用
wpf
画笔
30.5 探究drawing派生类
30.6 ui变换的功能
30.7
wpf
动画服务
30.8
wpf
的资源体系
30.9 为
wpf
控件
定
义应用样式
30.10 使用模板改变控件的ui
30.11 小结
第七部分 使用asp.net构建web应用程序
第31章 构建asp.net网页
31.1 http的作用
31.2 web应用程序和web服务
31.3 html的作用
31.4 客户端脚本的作用
31.5 提交表单
数据
(get和post)
31.6 构建传统的asp页面
31.7 传统asp相关问题
31.8 asp.net命名空间
31.9 asp.net网页代码模型
31.10 asp.net站点目录结构细节
31.11 asp.net页面编译周期
31.12 页面类型的继承链
31.13 与传入的http请求交互
31.14 与输出http响应交互
31.15 asp.net网页的生命周期
31.16 web.config文件的作用
31.17 小结
第32章 asp.net web控件、主题和母版页
32.1 web控件的本质
32.2 system.web.ui.control类型
32.3 system.web.ui.webcontrols.webcontrol类型
32.4 asp.net web控件的类别
32.5 构建功能丰富的asp.net站点
32.6 验证控件的作用
32.7 使用主题
32.8 使用html表格布局控件
32.9 小结
第33章 asp.net状态管理技术
33.1 状态问题
33.2 asp.net状态管理技术
33.3 asp.net视图状态的作用
33.4 global.asax文件的作用
33.5 应用程序状态与会话状态差别
33.6 使用应用程序缓存
33.7 维护会话
数据
33.8 cookie
33.9 sessionstate元素的作用
33.10 asp.net用户配置api
33.11 小结
第八部分 附录
附录a com与.net的互操作性
a.1 net互操作的研究范围
a.2 net调用com互操作的简单示例
a.3 net互操作程序集
a.4 运
行
库可调用包装
a.5 com idl的作用
a.6 使用类型库创建互操作程序集
a.7 创建一个更复杂的com服务
a.8 互操作程序集
a.9 在com中使用.net
a.10 ccw的作用
a.11 net类接口的作用
a.12 构建.net类型
a.13 生成类型库并注册.net类型
a.14 导出类型信息
a.15 创建一个visual basic 6.0的测试客户端
a.16 小结
附录b 使用mono进
行
平台无关的.net开发
b.1 net的平台无关性
b.2 获取和安装mono
b.3 mono开发工具
b.4 使用mono创建.net应用程序
b.5 推荐学习
b.6 小结
在项目开发的过程,通常会遇到一些表格
数据
的
绑
定
,因为没有
WPF
的开发经验所以一边摸索一边开发,所幸
WPF
的上手难度不大,开发过程较为顺利。不过在使用DataGrid的时候还是遇到了一点阻绊遇。所以在这里讲一下这个DataGrid应该怎么用,以及要注意的事情。
DataGrid是个非常实用的控件,可以用来展示及获取较为复杂的
数据
结构。
要在
WPF
下使用DataGrid并
绑
定
数据
,大致操作如下:
1、在资源视图xml文件中添加DataGrid,并设置
绑
定
,如下。
<Windowx:Class=".
WPF
之DataGrid控件使用一、DataGrid简介二、DataGrid
数据
源
绑
定
三、DataGrid单元格编辑三、DataGrid
增加
删除
行
参考文档
一、DataGrid简介
二、DataGrid
数据
源
绑
定
三、DataGrid单元格编辑
要实现对DataGrid单元格编辑,需先将DataGrid属性IsReadOnly设置为false,可以在DataGrid
定
义中设置,这样是对全体单元格只读属性进
行
设置,也可以在
列
定
义中设置,这样是对单个
列
字段进
行
设置。
DataGrid单元格编辑触发方法主要有Ce
在ListBox中,如果要用path方式,除了对ListBox本身做设置之外,还需要对它的项目进
行
设置。
请将以下内容
<ListBox x:Name="macroList" HorizontalAlignment="Left"
Height="664" VerticalAlignment="Bottom"
DisplayMemberPath="macroName" SelectedValuePath
简介昨天写了篇关于ListView
列
排序的文章:一种简单易用的
WPF
ListView点击
列
排序的方法,今天我们再来看看ListView动态添加或删除
列
的小方法。效果就类似下图,你已经
定
义好一个ListView,使用该方法可以根据ListView的
列
动态生成一个可以修改的
列
选项
列
表,通过修改
列
表的属性,ListView的
列
可以被动态添加或者删除。使用方法该方法的所有功能都实现在一个类型中:Colu...
dgTool.LoadingRow += new EventHandler<DataGridRowEventArgs>(dgTool_LoadingRow);
dgTool.UnloadingRow +=new EventHandler<DataGridRowE...
相信不少
WPF
开发者对控件有一些了解,摆脱了早期微软的MFC,发现
WPF
编程方式更加方便。但是仍然是浩如烟海般的资料需要了解。控件是
WPF
开发绕不开的话题。今天我们就从分析ItemsControl控件开始。 ItemsControl可以包含多个项,神奇的就在于它可以包含字符串或完全用户自己
定
义的类对象,甚至可以包含Button按钮、StackPanel控件,它是ListBox,Lis...
前台代码片
下面展示一些 代码片。
LoadingRow=&amp;amp;amp;amp;amp;quot;gdView_LoadingRow&amp;amp;amp;amp;amp;quot;就是自增事件,
数据
绑
定
完成之后
自动
触发
// LoadingRow=&amp;amp;amp;amp;amp;quot;gdView_LoadingRow&amp;amp;amp;amp;amp;quot;就是自增事件
// Loadi
在桌面应用程序开发的时候,我们经常会给DataGrid或者表格的第一
列
加上
行
序
列
号,以此给用户一个提示当前
数据
所在的
行
号,就类似于Excel的左边
列
。Flex的DataGrid并没有
自动
提供这样的属性。那么如何解决这个问题呢,方法有很多种,我们可以在DataGrid的
数据
源dataProvider中添加这样的
行
序
列
号,这个方法的弊端就是这个序
列
号和
行
数据
(row data)
绑
定
在一起,当DataG...
网上查了很多方法,基本都是自己写一个
列
,再用程序来填充这
列
的值为
行
号,太复杂了。
其实有个简单的思路就可以用3
行
代码实现这个功能:当DataGrid加载
行
时,将自身的
索引
值加1不就是
行
号了吗?将这个值写入表头(
行
)就
行
了。
dataGrid.LoadingRow += new EventHandler<DataGridRowEventArgs>(dataGrid...