DataGridView七十二般绝技

一、ObjectDataSource的重要属性:

  SelectedMethod:获取或设置检索数据的函数或方法的名称

  InsertMethod:获取或设置插入数据的函数或方法的名称

  UpdateMethod:获取或设置更新数据的函数或方法的名称

  DeleteMethod:获取或设置删除数据的函数或方法的名称

  TypeName:获取或设置ObjectDataSource对象表示的类的名称,即业务对象的类名

二、GridView中的七种字段

  BoundField   :  将数据项显示为文本      

  CheckBoxField : 将数据项显示为复选框      

  CommandField : 使用链接来支持编辑、删除或选中行   

  ButtonField : 将数据项显示为按钮(ImageButton、LinkButton、Button)   

  HyperLinkField : 将数据项显示为超链接    

  ImageField : 将数据项显示为图片

  TemplateField: 自定义数据项的外观

      所有这些字段类型都是继承自DataControlField

三、DataControlField的属性

  HeaderText/HeaderImageUrl : 标题栏字段/标题栏的图像URL   

  FooterText : 脚注项的文本    

  AccessibleHeaderText : 一个字符串,表示由屏幕阅读器读取的缩写文本。     

  Control: 获取对Field内数据控件的引用

  InsertVisible: 插入新记录时,此列是否可见。(不能在GridView控件中使用)      

  HeaderStyle/FooterStyle/ItemStyle/ControlStyle : 标题项/脚注项/数据项/子WEB控件的样式     

  SortExpression : 为数据项指定排序表达式

四、BoundField的属性

  DataField : 显示的字段   

  DataFormatString : 字段格式化    注: FormatString经常用来格式化数字、日期、字符串、自定义类型。

  HtmlEncode / HtmlEncodeFormatString: 获取或设置一个值,该值指示在 BoundField 对象中显示字段值之前,是否对这些字段值进行 HTML 编码。  

  ApplyFormatInEditMode: 若要在编辑模式中将格式化字符串应用到字段值,则为 true;否则为 false。默认为 false。     

  Readonly:  防止该数据项进入编辑模式。    

  NullDisplayText : 当数据项为NULL时显示的文本

五、CommandField的属性

  ButtonType:指定Button类型、可以有Button、Image、Link类型     

  CancelText/CancelImageUrl: Cancel按钮中的文本/图像URL      

  DeleteText/DeleteImageUrl: Delete按钮中的文本/图像URL    

  InsertText/InsertImageUrl: Insert按钮中的文本/图像URL  

  EditText/EditImageUrl: Edit按钮中的文本/图像URL   

  UpdateText/UpdateImageUrl: Update按钮中的文本/图像URL    

  SelectText/SelectImageUrl: Select按钮中的文本/图像URL   

  NewText/NewImageUrl: New按钮中的文本/图像URL    

  ShowEditButton/ShowDeleteButton/ShowCancelButton/ShowSelectButton/ShowInsertButton: 是否显示相应按钮   

  CauseValidation:点击按钮时是否启用校验      

  ValidationGroup: 指定和编辑按钮相关验证控件组的名称

六、ButtonField的属性

  ButtonType : Button类型,可以为Button、Image、LinkButton
  CauseValidation : 指定按钮点击时是否引发验证 
  CommandName : 指定ButtonField关联的标准编辑命令,可以为Delete、Edit、Update、Cancel。或者,可以自定义
  DataTextField/DataTextFormatString : 指定按钮文本的数据项/数据项格式
  Text : 按钮文本
  ValidationGroup : 和按钮相关验证控件组的名称

七、HyperLinkField属性

  DataNavigateUrlFields: 在DataNavigateFormatString中使用的列名称
  DataNavigateFormatString: 格式链接字符串
  DataTextField/DataTextFormatString: 超链接文本/超链接文本格式化
  NavigateUrl: 链接到其它页面的URL
  Target : 链接目标,可以使用:_blank/_parent/_self/_top
  Text: 超链接的文本

八、ImageField的属性

  AlternateText : 预备文本
  DataAlternateTextField : 使用指定列的值作为预备文本
  DataAlternateTextFormatString : 预备文本格式字符串 
  DataImageUrlField : 存放图片路径的列名
  DataImageUrlFormatString : 图片路径格式字符串 
  NullImageUrl : 指定预备图片

九、TemplateField支持的模板类型

  ALternatingItemTemplate : 间隔行模板
  EditItemTemlpate : 编辑行模板
  FooterTemplate : 脚注模板 
  HeaderTemplate : 标题模板
  InsertItemTemplate: 插入行模板(不支持GridView控件) 
  ItemTemplate: 每个显示行模板

十、GridView控件RowDataBound事件中获取列字段的几种途径
   1. e.Row.Cells[x].Text。     从列单元格的文本值获取。这种方法简单高率,最为常用,但是功能单纯。此法存在几个缺点:     

  (1)无法获取到设置了隐藏属性的数据列的值,所取到的值为“”(空)。   

  (2)只能获取在HTML中定义过的数据列,无法查询数据源中的当前数据行的所有字段列。一般情况下,通过HTML设置GridView的字段列的数量往往小于数据源的实际字段数量,这是因为从业务逻辑的角度看,并不是所有的字段都是要显示在页面上的。当需要使用没有被显示的字段时,此法就不能直接满足需求了。
  2、e.Row.Cells[x].findControl(“xxx”) as …
      e.Row.findControl(“xxx”) as ..
  3. (DataRowView)e.Row.DataItem).Row.ItemArray[x].ToString()。     此法的核心是e.Row.DataItem,它是GridView的行数据集,为Object类型,将其转化为DataRowView类型后,可以获得更多的操作方法。此数据集表示数据源当前行的全部字段列,ItemArray[x]是当前行全部字段列的数组对象,可以通过索引x获得任意字段值。此法的强悍之处是可以对数据源的全部字段查询。 4. DataBinder.Eval(e.Row.DataItem, "YourDataFieldName").ToString()。     此法仍然基于e.Row.DataItem,其特点是更快捷的获得数据源的任意字段值,因为使用了DataBinder.Eval(),需要注意的是不要写错字段名称。

posted @ 2010-10-15 13:51  Daniel_Lu  阅读(962)  评论(1编辑  收藏  举报