当前位置: 首页 > news >正文

北京建网站定制价格律师网站建设推广

北京建网站定制价格,律师网站建设推广,网上营销的好处,广州网站优化公司如何ComponentArt.web.ui中文帮助之Grid(三) 使用ComponentArt Grid的服务器端模板 通过它的不同的用户个性化定制特征,ComponentArt Grid包括服务器控件对内部内容使用服务器模板的正常能力,这篇文章概述了表格使用服务器端模板的典…
ComponentArt.web.ui中文帮助之Grid(三)

使用ComponentArt Grid的服务器端模板

通过它的不同的用户个性化定制特征,ComponentArt Grid包括服务器控件对内部内容使用服务器模板的正常能力,这篇文章概述了表格使用服务器端模板的典型用法,同时也指出了开发者可以获得的这些功能支持的事件和方法

在选择使用服务器段模板之前,必须保证读过一遍Web.UI控件模板概述。可能客户端模板更适合你的程序

概述

ComponentArt Grid中的服务器端模板专门用于模板化数据元素。他们允许任何服务器端元素绑定到表格的数据。最主要的,它使表格元素能够包含服务器端控件的能力,能够产生服务器端事件,保持状态和执行其他服务器端逻辑

定义服务器端模板

在服务器端模板能够用于表格之前,我们必须在它的ServerTemplates块中定义

  <ServerTemplates>

    ...

    <ComponentArt:GridServerTemplate ID="LabelTemplate" />

      <Template>

        <asp:Label runat="server" ID="myLabel" BorderWidth="2" Text="<%# Container.DataItem["FullName"] %>" />

      </Template>

    </ComponentArt:GridServerTemplate>

  </ServerTemplates>

上例会在调用此模板的元素中呈现一个有两像素边框、包含fullname字段的标签

要连接定义的模板到表格列,只要简单的设定GridColumnDataCellServerTemplateId到你要使用的服务器模板的ID

  <ComponentArt:GridColumn ... DataCellServerTemplateId="LabelTemplate" />

注意:数据绑定表达式的语法与你可能用过的语法有一些不同。不需要使用DataBinder.Eval来得到表达式。Container.DataItem总是指向模板绑定的GridItem (数据行),你可以简单的使用GridItem的字符串索引来引用行内部的字段

使用ItemDataBound事件

ComponentArt Grid具有对被绑定在一个GridItem上的服务器模板起作用的能力.这个事件是 ItemDataBound事件,它的参数包括模板示例的内容和所包含在的GridItem ,这给了开发者一个机会来在页面被呈现前操纵内部

下面是一个典型的用在Grid中的ItemDataBound实例

1.为列设置服务器端模板

  <ComponentArt:GridColumn ... DataCellServerTemplateId="myTemplate" />

 

定义你要用的模板

  <ServerTemplates>

    ...

    <ComponentArt:GridServerTemplate ID="myTemplate" />

      <Template>

        Here is a button:<br>

        <asp:Button ID="myButton" runat="server"

          Text="<%# Container.DataItem["Name"] %>" />

      </Template>

    </ComponentArt:GridServerTemplate>

  </ServerTemplates>

 

后置代码中的添加委托 :

  private void InitializeComponent()

  {

    ...

 

    Grid1.ItemDataBound += new Grid.ItemDataBoundEventHandler(Grid1_ItemDataBound);

  }

 

定义处理程序:

 

  private void Grid1_ItemDataBound(object sender, GridItemDataBoundEventArgs args)

  {

    // We can modify the content...

    args.Content.Controls.Add(new LiteralControl("Manipulated!"));

 

    // reference individual control instances...

    Button myButton = (Button)args.Content.FindControl("myButton");

 

    // or perform other logic based on the instantiated content.

    Response.Write("Instantiated " + myButton.UniqueID +

      " for item " + args.Item["Name"];

  }

 

使用ItemCommand事件

ComponentArt Grid能够响应植入在内部的服务器模板产生的事件,这个事件就是 ItemCommand, 它的参数包括引发事件的控件和模板所属的行(GridItem).

下面是一个典型的用在Grid中的ItemCommand实例

1.为列设置放置可以触发事件的控件的服务器端模板

 

  <ComponentArt:GridColumn ... DataCellServerTemplateId="linkButtonTemplate" />

 

定义你要用的模板:

 

  <ServerTemplates>

    ...

    <ComponentArt:GridServerTemplate ID="linkButtonTemplate" />

      <Template>

        <asp:LinkButton ID="lb" runat="server"

          Text="ItemCommand" CommandName="MyCommand" />

      </Template>

    </ComponentArt:GridServerTemplate>

  </ServerTemplates>

 

添加事件委托到后置代码

  private void InitializeComponent()

  {

    ...

 

    Grid1.ItemCommand += new Grid.ItemCommandEventHandler(Grid1_ItemCommand);

  }

 

定义事件处理程序:

 

  public void Grid1_ItemCommand(object sender, GridItemCommandEventArgs args)

  {

    Response.Write("Command " + ((LinkButton)args.Control).CommandName +

      " issued on item " + args.Item["ID"]);

  }

 

获得模板实例内部控件的引用

为获得模板实例内部控件的引用,表格控件提供了一个对FindControl方法的重写. Grid.FindControl能够取得4个参数:层级编号(level index),列编号,行编号,和空间ID.这个调用能够通过给定的层级,,,元素ID找到控件

 

例如,下面的调用能够找到第一层第三列第七行的模板内的控件"myButton"

 

  Button myButton = (Button)Grid.FindControl(0, 3, 7, "myButton");

 

为了更好的使用FindControl重写,我们可以使用GridColumnCollection GridItemCollectionIndexOf方法.这样,我们可以通过列的DataField和与行匹配的值找回行号和列号

 

  int columnIndex = Grid.Levels[0].Columns.IndexOf("Summary");

  int itemIndex = Grid.Items.IndexOf("UniqueID", 3984);

   

  Button myButton = (Button)Grid.FindControl(0, columnIndex, itemIndex, "myButton");

http://www.yayakq.cn/news/648021/

相关文章:

  • 合肥营销网站建设买个网站服务器多少钱
  • 一个完整的企业网站wordpress editor.md
  • 外贸英文网站用ps制作网站首页
  • 建设工程招标投标管理信息网站个人网站做商城
  • 网站建设中最重要的环节是销售方案网站
  • 设计网站什么叫空间不稳定福建两学一做网站
  • 网站开发实验报告模版网站死链检测
  • 优斗网站建设无锡做网站优化公司
  • 网站的流量怎么赚钱电脑网页传奇
  • 旅游门户网站建设项目招标wordpress博客下载
  • 智慧团建网站登录平台官网app开发多少钱
  • 杭州公司网站建设广西建设网站
  • 建设电子商务网站策划书软文素材网
  • 青海网站建设设计昆明网站建设价格低
  • 新手搭建做网站珠海附近交友平台软件
  • 体验营销策略seo网站推广招聘
  • 五屏网站建设公司多说与网站账号绑定
  • 自己建的网站如何百度搜索seo技术顾问
  • 专业做租赁的平台网站有哪些注册网页版
  • 济南市住建厅官方网站seo优化必备技巧
  • 网站制作中文版领诺科技网站建设
  • 手机网站关键词排名查询网络营销推广可以理解为
  • 青海西宁网站建设公司网站禁止右键代码
  • 织梦网站如何做优化西安软件制作公司
  • 品牌网站建设报价表wordpress里面备份功能在哪里
  • 网站的原理聊城住房和城乡建设厅网站
  • jsp网站开发的教材服务范围 网站建设公司
  • 怎么能自己做网站抖音开放平台官网
  • 山东一建建设有限公司网站首页新的网站建设
  • 昆明网站建设要多少钱网站弹出代码