知识大全 DataGrid使用心得(附大量代码)

Posted 编辑

篇首语:丈夫不报国,终为愚贱人。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 DataGrid使用心得(附大量代码)相关的知识,希望对你有一定的参考价值。

DataGrid使用心得(附大量代码)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   为DataGrid控件设计样式      在<asp:datagridid= DataGrid runat= server >之后添加如下代码      <FooterStyleForeColor= Black BackColor= #CCCCCC ></FooterStyle>   <SelectedItemStyleFont Bold= True ForeColor= White BackColor= # A C ></SelectedItemStyle>   <AlternatingItemStyleBackColor= Gainsboro ></AlternatingItemStyle>   <ItemStyleForeColor= Black BackColor= #EEEEEE ></ItemStyle>   <HeaderStyleFont Bold= True ForeColor= White BackColor= # ></HeaderStyle>      说明:   ( )在每个标签内主要是 ForeColor  BackColor Font Bold这几个属性值      为DataGrid控件添加绑定列      <asp:BoundColumnDataField= ReadOnly= True HeaderText= ></asp:BoundColumn>   说明:   ( )在标签内的基本属性是DataField/HeaderText   ( )DataFormatString用于获取或设置指定列中各项的显示格式的字符串     形式为A:Bxx 例如 格式化字符串 :F 将显示带两位小数的定点数     其中A值只能设置为 因为每个单元格中只有一个值     冒号后的字符(常规示例中为B)指定值的显示格式    C 以货币格式显示数值        D 以十进制格式显示数值        E 以科学记数法(指数)格式显示数值        F 以固定格式显示数值        G 以常规格式显示数值        N 以数字格式显示数值        X 以十六进制格式显示数值    ( )Visible获取或设置一个值 该值指示此列在DataGrid控件中是否可见    ( )ReadOnly设置些列是否只读 若是只读的话 则不能修改    ( )SortExpression获取或设置选择进行排序的列时传递到OnSortCommand方法的字段或表达式的名称   

   为DataGrid控件添加模板列   <asp:TemplateColumnHeaderText= 类别 >    <ItemTemplate>     <asp:LabelText= <%#DataBinder Eval(Container DataItem actorclassname )%> runat= server ID= Label />    </ItemTemplate>    <EditItemTemplate>     <selectname= sltclassname >      <%=ActorClass GetParentClass( )%>     </select>    </EditItemTemplate>   </asp:TemplateColumn>说明:   ( )基本框架是    <asp:TemplateColumnHeaderText= 类别 >    <ItemTemplate></ItemTemplate>    </asp:TemplateColumn>   ( )全面的模板列    <asp:TemplateColumn>

  <HeaderTemplate>                 <b>Tax</b>              </HeaderTemplate>

  <ItemTemplate>                 <asp:Label                      Text= <%#DataBinder Eval(Container DataItem Tax )%>                       runat= server />              </ItemTemplate>

  <EditItemTemplate>

  <asp:CheckBox                      Text= Taxable                       runat= server />

  </EditItemTemplate>

  <FooterTemplate>                 <asp:HyperLinkid= HyperLink                       Text= Microsoft                       NavigateUrl=                       runat= server />              </FooterTemplate>

  </asp:TemplateColumn> ( )为布尔型列应用模板列  <asp:TemplateColumn>        <ItemTemplate>            <asp:Label                Text= <%#DataBinder Eval(Container DataItem Tax )%>                     runat= server />           </ItemTemplate>           <EditItemTemplate>            <asp:CheckBox                Text= Taxable                     runat= server />

  </EditItemTemplate>       </asp:TemplateColumn>       在正常状态 用Label控件显示       在编辑状态 用CheckBox控件显示    ( ) 为枚举类型列应用模板列 如业务地区(全网/广东/云南等等)  <asp:TemplateColumnHeaderText= 处理方式 >   <ItemTemplate>    <asp:LabelID= lbStatus >     <%#DataBinder Eval(Container DataItem DealWith )%>    </asp:Label>   </ItemTemplate>   <EditItemTemplate>    <asp:DropDownListid= dpStatus runat= server DataTextField= status >     <asp:ListItemValue= Log >Log(日志)</asp:ListItem>     <asp:ListItemValue= SendSms >SendSms(短信)</asp:ListItem>    </asp:DropDownList>   </EditItemTemplate>  </asp:TemplateColumn>  在正常状态 用Label控件显示  在编辑状态 用DropDownList控件显示  ( )为长字符串应用模板列 如一篇文章的内容   还未做过    为DataGrid控件添加按钮列  <asp:ButtonColumn       HeaderText= Removefromcart        ButtonType= PushButton        Text= Remove        CommandName= RemoveFromCart />   ( )要使用按钮列 必须在DataGrid控件中添加OnItemCommand属性 并为该事件添加处理方法    ( )模板列可以实现按钮列能实现的任何功能        为DataGrid控件添加编辑列   <asp:EditCommandColumnButtonType= LinkButton UpdateText= 更新 HeaderText= 编辑 CancelText= 取消 EditText= 编辑 ></asp:EditCommandColumn>   ( )ButtonType有两个值:LinkButton超级链接样式按钮的列|PushButton普通按钮的列

   为DataGrid控件添加超链接列 <asp:HyperLinkColumnText= 添加子类 DataNavigateUrlField= ActorclassID DataNavigateUrlFormatString= addActorClass aspx?classID= ></asp:HyperLinkColumn> ( )为每一行设置相同的文字及跳转的URL地址  设置Text和NavigateUrl属性 则列中的所有超级链接将共享同一标题和URL ( )为每一行设置不同的文字及不同跳转的URL地址  A  用DataTextField设置数据源字段 若还想在原数据的基础上加工一下(如字段值为 想显示为 元)   则再设置DataTextFormatString字段  B  用DataNavigateUrlField及DataNavigateUrlFormatString来设置URL地址   用DataTextField= money DataTextFormatString= 元   C  举例   DataNavigateUrlField= ActorclassID DataNavigateUrlFormatString= addActorClass aspx?classID=      为DataGrid控件添加 编辑 代码  在DataGrid标签中加入  OnUpdateCommand= DataGrid _Update OnCancelCommand= DataGrid _Cancel OnEditCommand= DataGrid _Edit 代码  在codeBehind页面加入如下代码  ///响应编辑按钮  publicvoidDataGrid _Edit(Objectsender DataGridCommandEventArgse)     DataGrid EditItemIndex=e Item ItemIndex;   if(Request QueryString Get( classID )!=null)    Common BindData(DataGrid Common GetSource( select*fromActorClasswhereparentID= +Request QueryString Get( classID )+ orderbydepth orderIDdesc ));   else    Common BindData(DataGrid Common GetSource( select*fromActorClasswheredepth= orderbydepth orderIDdesc ));      ///响应取消按钮  publicvoidDataGrid _Cancel(Objectsender DataGridCommandEventArgse)     DataGrid EditItemIndex= ;   if(Request QueryString Get( classID )!=null)    Common BindData(DataGrid Common GetSource( select*fromActorClasswhereparentID= +Request QueryString Get( classID )+ orderbydepth orderIDdesc ));   else    Common BindData(DataGrid Common GetSource( select*fromActorClasswheredepth= orderbydepth orderIDdesc ));

      ///响应更新按钮    publicvoidDataGrid _Update(Objectsender DataGridCommandEventArgse)     TextBoxClassNameText=(TextBox)e Item Cells[ ] Controls[ ];   stringclassName=ClassNameText Text;   intclassID=Int Parse((e Item Cells[ ] Text) ToString());   TextBoxorderID =(TextBox)e Item Cells[ ] Controls[ ];   intorderID=Int Parse(orderID Text);   ActorClass ModifyActorClass(className classID orderID);

  DataGrid EditItemIndex= ;   if(Request QueryString Get( classID )!=null)    Common BindData(DataGrid Common GetSource( select*fromActorClasswhereparentID= +Request QueryString Get( classID )+ orderbydepth orderIDdesc ));   else    Common BindData(DataGrid Common GetSource( select*fromActorClasswheredepth= orderbydepth orderIDdesc ));    说明  ( )DataGrid事件处理程序的格式   MethodName(Objectsender DataGridCommandEventArgse)  ( )更新按钮的说明   A 获取编辑状态中的文本框    TextBoxClassNameText=(TextBox)e Item Cells[ ] Controls[ ];    stringclassName=ClassNameText Text;   B 获取编辑状态中的下拉列表框    方法一    intclassID;    classID=Int Parse(Request Form Get( sltclassname ));    方法二    DropDownListbbb=(DropDownList)e Item Cells[ ] FindControl( dpStatus );    stringddpValue=bbb SelectedValue   C 获取编辑状态中的复选框    boolboolEnabled=((CheckBox)e Item FindControl( c_enabled )) Checked;    Stringstr ;    if(boolEnabled)         str = ;        else          str = ;        赋值给str 原因是插入到数据库的布尔型值只能是 或者    D 获取编辑状态中的文本值 即该列是只读的     stringstoryID=(e Item Cells[ ] Text) ToString();

   为DataGrid控件添加分页事件  在DataGrid控件标签中加入如下代码  OnPageIndexChanged= DataGrid _PageIndexChanged   在后台中加入如下代码  ///<summary>  ///响应分页事件  ///</summary>  ///<paramname= sender ></param>  ///<paramname= e ></param>  publicvoidDataGrid _Page(Objectsender DataGridPageChangedEventArgse)     DataGrid CurrentPageIndex=e NewPageIndex;   DataBind();     为DataGrid控件添加绑定事件 即在DataGrid绑定时发生的事件处理  一般用些事件来 做一些页面上的效果 如更改背景色 文本框大小等   OnItemDataBound= DataGrid _ItemDataBound   ///<summary>  ///响应DataGrid绑定事件  ///</summary>  ///<paramname= sender ></param>  ///<paramname= e ></param>  publicvoidDataGrid _ItemDataBound(objectsender System Web UI WebControls DataGridItemEventArgse)     if(e Item ItemType==ListItemType Item)       e Item Attributes Add( onmouseover this style backgroundColor= #c dafa );    e Item Attributes Add( onmouseout this style backgroundColor= white );

     elseif(e Item ItemType==ListItemType AlternatingItem)       e Item Attributes Add( onmouseover this style backgroundColor= #c dafa );    e Item Attributes Add( onmouseout this style backgroundColor= #f f f );         为DataGrid控件添加接钮处理事件程序  在DataGrid控件标签中加入如下代码  OnItemCommand= ItemsGrid_Command   在后台中加入如下代码  publicvoidItemsGrid_Command(Objectsender DataGridCommandEventArgse)     switch(((LinkButton)e CommandSource) CommandName)   

  case Delete :     intclassID=Int Parse((e Item Cells[ ] Text) ToString());     ActorClass DeleteActorClass(classID);     if(Request QueryString Get( classID )!=null)      Common BindData(DataGrid Common GetSource( select*fromActorClasswhereparentID= +Request QueryString Get( classID )+ orderbydepth orderIDdesc ));     else      Common BindData(DataGrid Common GetSource( select*fromActorClasswheredepth= orderbydepth orderIDdesc ));     break;

  //Addothercaseshere iftherearemultipleButtonColumnsin     //theDataGridcontrol     case hidden :     intactorID=Int Parse((e Item Cells[ ] Text) ToString());     ActorClass HiddenActorClass(actorID);     if(Request QueryString Get( classID )!=null)      Common BindData(DataGrid Common GetSource( select*fromActorClasswhereparentID= +Request QueryString Get( classID )+ orderbydepth orderIDdesc ));     else      Common BindData(DataGrid Common GetSource( select*fromActorClasswheredepth= orderbydepth orderIDdesc ));     break;    case MoveUp :     intactorclassID=Int Parse((e Item Cells[ ] Text) ToString());     stringorderID=(e Item Cells[ ] Text) ToString();     ActorClass MoveUp(orderID actorclassID);     if(Request QueryString Get( classID )!=null)      Common BindData(DataGrid Common GetSource( select*fromActorClasswhereparentID= +Request QueryString Get( classID )+ orderbydepth orderIDdesc ));     else      Common BindData(DataGrid Common GetSource( select*fromActorClasswheredepth= orderbydepth orderIDdesc ));     break;    case MoveDown :     actorclassID=Int Parse((e Item Cells[ ] Text) ToString());     orderID=(e Item Cells[ ] Text) ToString();     ActorClass MoveDown(orderID actorclassID);     if(Request QueryString Get( classID )!=null)      Common BindData(DataGrid Common GetSource( select*fromActorClasswhereparentID= +Request QueryString Get( classID )+ orderbydepth orderIDdesc ));     else      Common BindData(DataGrid Common GetSource( select*fromActorClasswheredepth= orderbyorderID ));     break;    

  default:     //Donothing      break;

    

   为DataGrid添加模板列 但是内容根据字段值来显示 链接 还是文本  以下三个都是 根据字段列不同 而显示内容及显示控件不同的处理代码   <asp:TemplateColumnHeaderText= 子菜单 >   <ItemTemplate>    <%#ActorClassManage hasLeaf(DataBinder Eval(Container DataItem ActorClassID ) ToString() DataBinder Eval(Container DataItem child ) ToString())%>   </ItemTemplate>  </asp:TemplateColumn>  publicstaticstringhasLeaf(stringid stringchild)     stringlRtn= ;   if(Int Parse(child)> )    lRtn= <a+id+ ><fontcolor=blue>子菜单( +child+ )</font></a> ;   else    lRtn= 无子菜单 ;

cha138/Article/program/net/201311/12340

相关参考

知识大全 实现HTTP断点续传下载工具(附源代码)

Java网络编程从入门到精通(24):实现HTTP断点续传下载工具(附源代码)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,

知识大全 DataGrid控件

VisualC#通用模块开发:DataGrid控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 常见Datagrid错误

常见Datagrid错误  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  摘要学习如何避免在使用A

知识大全 DataGrid中的按钮反选事件

DataGrid中的按钮反选事件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  DataGrid

知识大全 DataGrid的ViewState

DataGrid的ViewState  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  减少View

知识大全 DataGrid脚眉显示合计

DataGrid脚眉显示合计  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  创建一个全局变量  

知识大全 用DataGrid浏览数据相关实例

用DataGrid浏览数据相关实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数据集    

知识大全 DataGrid中嵌套使用Repeater

DataGrid中嵌套使用Repeater  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 捕捉DataGrid的双击事件

捕捉DataGrid的双击事件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!<!StartF

知识大全 添加一个下拉框到DataGrid

添加一个下拉框到DataGrid  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本实例利用Pai