gridview编辑模板itemtemplate.docx

上传人:b****4 文档编号:27148657 上传时间:2023-06-27 格式:DOCX 页数:8 大小:18.33KB
下载 相关 举报
gridview编辑模板itemtemplate.docx_第1页
第1页 / 共8页
gridview编辑模板itemtemplate.docx_第2页
第2页 / 共8页
gridview编辑模板itemtemplate.docx_第3页
第3页 / 共8页
gridview编辑模板itemtemplate.docx_第4页
第4页 / 共8页
gridview编辑模板itemtemplate.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

gridview编辑模板itemtemplate.docx

《gridview编辑模板itemtemplate.docx》由会员分享,可在线阅读,更多相关《gridview编辑模板itemtemplate.docx(8页珍藏版)》请在冰豆网上搜索。

gridview编辑模板itemtemplate.docx

gridview编辑模板itemtemplate

竭诚为您提供优质文档/双击可除

gridview,编辑模板,itemtemplate

  篇一:

在aspxgridView中添加编辑模板

  在aspxgridView中添加编辑模板(editForm)

  由于aspxgridView默认的编辑模式有时不符合我们自己的要求,所以需要设置自己的编辑模式。

那么请一步一步跟我做。

  1:

下面是aspxgridView1的前台代码

    datasourceid="sqldatasource1"keyFieldname="id"onRowupdating="aspxgridView1_Rowupdating"cssFilepath="~/app_themes/glass/{0}/styles.css"csspostfix="glass">

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  产品编码:

  ")%>>  imageurl="~/images/calendar_schedulehs.png"onclientclick="choosesku_onclick()">

  

    Replacementtype="editFormupdatebutton"runat="server">  Replacementtype="editFormcancelbutton"runat="server">

  

  

  

  可以看到我增加了一个段,切忌一定要增加

  

  

  这段,否则没有“更新”和“取消”按钮。

  

  产品编码:

  ")%>>  imageurl="~/images/calendar_schedulehs.png"onclientclick="choosesku_onclick()">

  其中的textbox1就是我们要用来更新grid中“产品编码”字段的。

然后后面跟了一个imagebutton,由于我们还要从一个字窗口中的grid中选择一个值来替代手工去输入新值(这是很常见的需求吧)。

  2:

  在窗体的前台中增加代码:

  //下面是自动弹出窗口事件,主要是对弹出位置做了设置,可以不看这段

  functionopenwindows2(url,wname,w,h,x,y,parameters){

  w=w||505;

  h=h||497;

  x=(window.screen.width-w)/2;

  y=(window.screen.height-h)/2;

  if(!

parameters){parameters=

  ,menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=no,resizable=no;};

  mywin=

  window.open(url,wname,width=+w+,height=+h+,screenx=+x+,screeny=+y+,top=+y+,left=+x+parameters);}

  

  //下面这个事件将赋给imagebutton1来弹出子窗体。

  functionchoosesku_onclick()

  {

  openwindows2(choosesku.aspx)

  }

  

  3:

在aspxgridView1的Rowupdating事件中写入如下代码:

  protectedvoidaspxgridView1_Rowupdating(objectsender,devexpress.web.data.aspxdataupdatingeventargse){

  textboxmemo=aspxgridView1.FindeditFormtemplatecontrol("textbox1")astextbox;

  e.newValues["产品编码"]=memo.text;

  }

  4:

子窗体的前台部分(gridview,编辑模板,itemtemplate)代码,用于将子窗体中选中的grid的记录传回主窗体。

  

  functionzdq()

  {

  window.opener.document.getelementbyid("chuandi1").value=window.document.getelementbyid("textbox1").value;

  window.opener.document.getelementbyid("button1").click();

  window.close();

  }

  

  

  functionongridFocusedRowchanged(){

  grid.getRowValues(grid.getFocusedRowindex(),产品编码,ongetRowValues);

  }

  functionongetRowValues(values){

  varkhbm=document.getelementbyid("textbox1");

  khbm.value=values[0];}

  

  需要注意的是,子窗体我用的也是aspxgridView,所以取得选中记录值的办法有点特殊,这里不详细说明。

  5:

需要注意的是我们的textbox1在aspxgridView1中,所以子窗体传递回去的值,找不到textbox1。

所以我们需要在aspxgridView外面增加一个隐藏的textbox(chuandi1)和一个隐藏的button,其中button的事件如下:

protectedvoidbutton1_click(objectsender,eventargse)

  {

  textboxmemo=aspxgridView1.FindeditFormtemplatecontrol("textbox1")astextbox;

  memo.text=this.chuandi1.text;

  }

  这样程序运行时,点击“edit”后,就会出现我们自定义的编辑画面,然后选择出新的记录传递到textbox1中去,然后点击“update”更新即可。

需要注意的是,如果需要屏蔽textbox1不能被输入(设置Readonly为true),则选择新的记录后,更新不起作用了。

不知道有什么办法能textbox1只能被选择的记录更新,而不是被输入。

  篇二:

12-在gridView控件中使用templateField

  导言

  gridView是由一组字段(Field)组成的,它们都指定的了来自datasource中的什么属性需要用到自己的输出呈现中。

最简单的字段类型是boundField,它仅将数据简单的显示为文本。

其他的字段类型使用交互html元素(alternatehtmlelements)来显示数据。

比如说,checkboxField将被呈现为一个checkbox,其选中状态由某特定数据字段的值来决定;imageField则将某特定数据字段呈现为一个图片,当然,这个数据字段中应该放的是图片类型的数据。

超级链接和按钮的状态取决于使用hyperlinkField或buttonField字段类型的数据字段的值。

  虽然checkboxField、imageField、hyperlinkField和buttonField考虑到了数据的交互视图,但它们仍然有一些相关的格式化的限制。

checkboxField只可以显示为一个单个的

  checkbox,而一个imageField则只可以显示为一张图片。

如果某个字段要显示一些文本、复选框、图片还有一些其他基于不同数据的东西的时候,我们要做什么?

或者说,如果我们需要使用除了checkbox、image、hyperlink以及button之外的web控件来显示数据时,我们该怎么办?

此外,boundField只能显示一个单独的数据字段。

如果我们想要在一个gridView列中显示两个或者更多的数据字段的值的时候该怎么办呢?

  为了适应这样的一个复杂的情况,gridView提供了使用模板来进行呈现的templateField。

模板可以包括静态的html、web控件以及数据绑定的代码。

此外,templateField还拥有各种可以用于不同情况的页面呈现的模板。

比如说,itemtemplate是默认的用于呈现每行中的单元格的,而edititemtemplate则用于编辑数据时的自定义界面。

  在本节教程中,我们将解释如何使用templateField来更加高级的自定义gridView控件。

在上一节教程中,我们看到了如何使用databound和Rowdatabound事件处理方法来自定义基于数据的格式化。

另一个办法就是在模板中调用一个格式化方法。

在本节中,我们就会看到这种技术。

  在本节中,我们将使用一些templateField来自定义雇员信息的呈现。

特别的,我们将列出所有的雇员,但我们将会把雇员的姓和名字放在一列中,把他们的雇佣日期放在一个calendar控件中,还将用一个状态列来表明他们来到公司有多久了。

  1

  图一:

使用三个templateField来自定义信息的显示方式

  第一步:

将数据绑定到gridView

  当你需要使用一些templateField来自定义显示时,我发现最简单的就是先创建一个仅包含boundField的gridView控件,然后添加一些templateField,如果需要的话,也可以将某些boundField直接转换成templateField。

好了,让我们开始本节教程吧。

首先,通过设计器往页面上添加一个gridView控件,并将一个返回雇员信息的objectdatasource绑定到它上面。

这些步骤将创建一个带有一些boundField的gridView,这些boundField对应雇员信息中不同的字段。

  打开gridViewtemplateField.aspx,并从工具箱中拖一个gridView到设计器上。

从gridView的智能标签(smarttag)上选择并添加一个新的调用employeesbll类的getemployees()方法的objectdatasource控件。

  2

  图二:

添加一个新的调用getemployees()方法的objectdatasource控件

  用这种方式绑定gridView将会自动的为雇员信息的每一个属性添加一个boundField:

employeeid、lastname、Firstname、title、hiredate、Reportsto以及country。

在这个报表中,我们不希望看到employeeid、Reportsto以及country属性。

要删除这些boundField的话,你可以:

  ·使用字段对话框-在gridView的智能标签的弹出菜单中点击“编辑列(”editcolumns)。

然后,在左下角的列表中选中你想要删除的boundField并点击那个带红叉的按钮,就可以删除这个boundField了。

  ·手工编辑gridView的声明语句-在源视图(sourceview)中,找到你想要删除的boundField,就是那些元素,删了就行了。

  在你删了employeeid、Reportsto和country等boundField之后,你的gridView的标记语言代码应该像这个样子:

  1  2datasourceid="objectdatasource1">

  3

  3

  4  sortexpression="lastname"/>

  5

    sortexpression="Firstname"/>

  67  sortexpression="hiredate"/>

  8

  9

  让我们花点时间在浏览器中来看看我们的成果。

这时,你将看到一个表格,表格中每一个记录都是一个雇员的信息,一共有四列:

一个是雇员的姓,一个是名字,一个是头衔,还有一个是他们的受雇日期。

  图三:

每一个雇员信息都显示了lastname、Firstname、title和hiredate

  第二步:

将姓和名显示在一列中

  现在,每一个雇员的姓和名都是分开在两列中显示的。

把它们放到一个列中显示出来也许是一个不错的主意。

要做到这一点,我们需要用到templateField。

我们可以添加一个新的templateField,给它加上一些必须的标记语言和数据绑定代码,然后删除原来的Firstname

  4

  和lastname这两个boundField;当然,我们也可以将Firstname

  这个boundField直接转换成一个templateField,编辑它以加上lastname的值,然后再删除lastname这个boundField。

  两种办法都行,不过我个人还是比较喜欢直接转换的那种,因为这种方式可以自动的添加一个含有web控件和相应的数据绑定代码的itemtemplate和edititemtemplate,它们可以用来模仿一个boundField的呈现和功能。

这样做的好处自然是不言而喻的,因为转换的过程已经帮我们做了很多事情,那我们当然就可以节约不少的时间了。

  要将一个boundField转换成templateField,我们可以在gridView的智能标签的弹出菜单中点击“编辑列”(editcolumns)。

在弹出对话框的左下角的列表中选择需要转换的boundField,然后点击右下角的“将此列转换成模板列”(convertthisfieldintoatemplateField)即可。

  图四:

在字段对话框中,将一个绑定列转换成一个模板列

  让我们继续将Firstname这个boundField转换成templateField。

在这个更改之后,设计器中并没有什么明显的不同。

这是因为将boundField转换成templateField时,其实是创

  5

  篇三:

十二:

在gridView控件中使用templateField

  作者:

heker20xx字体:

[增加减小]类型:

转载时间:

20xx-05-06我要评论

  本文主要讲解在gridView控件中如何使用templateField,从而更加高级的自定义gridView,实现自定义列表的功能。

  导言

  gridView是由一组字段(Field)组成的,它们都指定的了来自datasource中的什么属性需要用到自己的输出呈现中。

最简单的字段类型是boundField,它仅将数据简单的显示为文本。

其他的字段类型使用交互html元素(alternatehtmlelements)来显示数据。

比如说,checkboxField将被呈现为一个checkbox,其选中状态由某特定数据字段的值来决定;imageField则将某特定数据字段呈现为一个图片,当然,这个数据字段中应该放的是图片类型的数据。

超级链接和按钮的状态取决于使用hyperlinkField或buttonField字段类型的数据字段的值。

  虽然checkboxField、imageField、hyperlinkField和buttonField考虑到了数据的交互视图,但它们仍然有一些相关的格式化的限制。

checkboxField只可以显示为一个单个的checkbox,而一个imageField则只可以显示为一张图片。

如果某个字段要显示一些文本、复选框、图片还有一些其他基于不同数据的东西的时候,我们要做什么?

或者说,如果我们需要使用除了checkbox、image、hyperlink以及button之外的web控件来显示数据时,我们该怎么办?

此外,boundField只能显示一个单独的数据字段。

如果我们想要在一个gridView列中显示两个或者更多的数据字段的值的时候该怎么办呢?

  为了适应这样的一个复杂的情况,gridView提供了使用模板来进行呈现的templateField。

模板可以包括静态的html、web控件以及数据绑定的代码。

此外,templateField还拥有各种可以用于不同情况的页面呈现的模板。

比如说,itemtemplate是默认的用于呈现每行中的单元格的,而edititemtemplate则用于编辑数据时的自定义界面。

  在本节教程中,我们将解释如何使用templateField来更加高级的自定义gridView控件。

在上一节教程中,我们看到了如何使用databound和Rowdatabound事件处理方法来自定义基于数据的格式化。

另一个办法就是在模板中调用一个格式化方法。

在本节中,我们就会看到这种技术。

  在本节中,我们将使用一些templateField来自定义雇员信息的呈现。

特别的,我们将列出所有的雇员,但我们将会把雇员的姓和名字放在一列中,把他们的雇佣日期放在一个calendar控件中,还将用一个状态列来表明他们来到公司有多久了。

  图一:

使用三个templateField来自定义信息的显示方式

  第一步:

将数据绑定到gridView

  当你需要使用一些templateField来自定义显示时,我发现最简单的就是先创建一个仅包含boundField的gridView控件,然后添加一些templateField,如果需要的话,也可以将某些boundField直接转换成templateField。

好了,让我们开始本节教程吧。

首先,通过设计器往页面上添加一个gridView控件,并将一个返回雇员信息的objectdatasource绑定到它上面。

这些步骤将创建一个带有一些boundField的gridView,这些boundField对应雇员信息中不同的字段。

  打开gridViewtemplateField.aspx,并从工具箱中拖一个gridView到设计器上。

从gridView的智能标签(smarttag)上选择并添加一个新的调用employeesbll类的getemployees()方法的objectdatasource控件。

  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1