这篇日志有点长,收集了一些网上的资源,同志们可以按需要选择来看。目录是这样的:
这个颜色的是笨猫的注释
·GridView的常用用法总结
·如何获取 GridView 编辑状态下单元格里的值
先叙述一下我碰到问题的:
道路表road:roadid,roadname,startjunid,endjunid
路口表junction:junid,junname
startjunid,endjunid存的是int型编号,显示时要显示junname路口名字,于是做了一个视图view_road_junction
现在用一GridView和view_road_junction绑定显示数据。同时要求能对数据进行修改,变动反应到road表中。
我的做法是:
因为是视图,不能直接用GridView自动生成的编辑功能(已经用不同方法尝试过,不行,偷懒不成功),所以写了一个OnRowUpdating事件,GridView1_RowUpdating(),在此函数中获取GridView在编辑状态下的单元格的值,对road表进行更新操作。点击页面上的"编辑"按钮的时候触发该事件。
------------------
GridView的常用用法总结
------------------
GridView七种类型字段
Field字段类型 |
说明 |
BoundField(数据绑定字段) |
将Data Source数据源的字段数据以文本方式显示 |
ButtonField(按钮字段) |
在数据绑定控件中显示命令按钮。根据控件的不同,它可让您显示具有自定义按钮控件(例如【添加】或【移除】按钮)的数据行或数据列,按下时会引发RowCommand事件 |
CommandField(命令字段) |
显示含有命令的Button按钮,包括了Select、Edit、Update、Delete命令按钮(DetailsView的CommandField才支持Insert命令) |
CheckBoxField(CheckBox字段) |
显示为CheckBox类型,通常用于布尔值True/False的显示 |
HyperLinkField(超链接字段) |
将Data Source数据源字段数据显示成HyperLink超级链接,并可指定另外的NavigateUrl超链接 |
ImageField(图像字段) |
在数据绑定控件中显示图像字段 |
TemplateField(模板字段) |
显示用户自定义的模板内容 |
GridView四种样式
通过ControlStyle可设置BoundField字段服务器子控件的样式。
通过FooterStyle可设置BoundField字段之页尾的样式。
通过HeaderStyle可设置BoundField字段之页首的样式。
通过ItemStyle可设置BoundField字段中数据项的样式。
格式化字符串
格式代号 |
说 明 |
原始格式 |
格式指令 |
运行结果 |
{0:C} |
显示货币符号格式 |
2005.5 |
{0:C2} |
NT$2,005.50 |
{0:D} |
显示十进制数格式(限用于整数) |
128 |
{0:D} |
128 |
{0:E} |
显示科学符号格式 |
2005.5 |
{0:E2} |
2.01E+003 |
{0:F} |
显示固定小数字数格式 |
2005.5 |
{0:F4} |
2005.5000 |
{0:G} |
显示一般格式 |
2005.5 |
{0:G} |
2005.5 |
{0:N} |
显示有逗号固定小数字数格式 |
2005.5 |
{0:N3} |
2,005.500 |
{0:P} |
显示百分比格式 |
0.25 |
{0:P} |
25.00% |
{0:X} |
显示十六进制数格式(限用于整数) |
128 |
{0:X} |
80 |
{0:#} |
显示自定义的数字格式 |
2005.5 |
{0:00####.00} |
002005.00 |
各种类型字段使用方法
BoundField :
HeaderText 列名(在网页中显示出来的)
HeaderImageUrl 列头的图片
DataField 数据源字段名
NullDisplayText 当该字段的值为空时显示的值
ButtonField:
ButtonType 有Button?Image?Link三种
DataTextField 将数据源字段数据绑定到Button按钮的文本属性中
ImageUrl 当按钮形式为Image时,指定Image所在的Url
CommandName 单击ButtonField按钮时所要运行的命令名称
相关事件:
当ButtonField按钮字段被按下时,GridView控件会引发RowCommand事件,
若要判断引发命令事件之数据行的索引,请使用事件自变量的CommandArgument属性,会将该事件自变量传递至数据绑定控件的命令事件,ButtonField类会自动用适当的索引值填入CommandArgument属性。在事件响应函数中可以根据不同的CommandName来做不同的操作。
从事件中判断e.CommandName和对第几行进行的操作e.CommandArgument。
Example:
if (e.CommandName == "Select")
{
int index = Convert.ToInt32(e.CommandArgument);
}
}
CommandField:
五种命令:Select、Edit