framespacing="0" src="http://what.yesky.com/by/ztdh.htm" frameborder="0" width="1003" scrolling="no" height="60">
  登陆 | 注册

进入主题社区 按内容查找 按标题查找

marginwidth="0" marginheight="0" src="/commiframe/commendtags.html" frameborder="0" noresize="noresize" width="280" scrolling="no" height="50">

<script language="Javascript" type="text/javascript"> document.write(" "); </script> <script src="/js/ubb.js" type=""></script> <script src="/js/f.js" type=""></script> <script language="JavaScript" type=""> var allowReload = true; </script>

你的位置: 天极主题社区 → 程序开发 → .NET → ASP.NET源码

ASP.NET 2.0 中动态添加 GridView 模板列的...

1楼  发表:ASP.NET 2.0 中动态添加 GridView 模板列的例子
独行客 于 2006-09-21 15:50 赞成 反对  回复 报警

[refer=1,独行客]&lt;%...@ Page Language=&#34;C#&#34; %&gt;/r/n&lt;%...@ Import Namespace=&#34;System.Data&#34; %&gt;/r/n&lt;!DOCTYPE html PUBLIC &#34;-//W3...[/refer] <%...@ Page Language="C#" %>
<%...@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>

<script runat="server">...
 ICollection CreateDataSource()
 ...{
   DataTable dt = new DataTable();
   DataRow dr;
   dt.Columns.Add(new DataColumn("id", typeof(Int32)));
   dt.Columns.Add(new DataColumn("text", typeof(string)));
   for (int i = 0; i < 6; i++)
   ...{
     dr = dt.NewRow();
     dr[0] = i;
     dr[1] = "列表项目 " + i.ToString();
     dt.Rows.Add(dr);
   }
   DataView dv = new DataView(dt);
   return dv;
 }

public class GridViewTemplate : ITemplate
 ...{
   private DataControlRowType templateType;
   private string columnName;

public GridViewTemplate( DataControlRowType type, string colname )
   ...{
     templateType = type;
     columnName = colname;
   }

public void InstantiateIn( System.Web.UI.Control container )
   ...{
     switch (templateType)
     ...{
       case DataControlRowType.Header:
         Literal lc = new Literal();
         lc.Text = columnName;          
         container.Controls.Add(lc);          
         break;
       case DataControlRowType.DataRow:
         DropDownList drr = new DropDownList();
         drr.ID = "dropdown";
         drr.AppendDataBoundItems = true;
         drr.Items.Add(new ListItem("-----请选择------",""));
         drr.Items.Add(new ListItem("AA", "a"));
         drr.Items.Add(new ListItem("BB", "b"));
         drr.Items.Add(new ListItem("CC", "c"));
         container.Controls.Add(drr);
         break;
       default:
        break;
     }
   }
 }
 
 protected void Page_Load(object sender, EventArgs e)
 ...{
   if (!IsPostBack)
   ...{
     TemplateField customField = new TemplateField();
     customField.ShowHeader = true;
     customField.HeaderTemplate = new GridViewTemplate(DataControlRowType.Header, "动态添加列");
     customField.ItemTemplate = new GridViewTemplate(DataControlRowType.DataRow, "");
     GridView1.Columns.Add(customField);
     GridView1.DataSource = CreateDataSource();
     GridView1.DataBind();
   }
 }

protected void GridView1_RowDataBound( object sender, GridViewRowEventArgs e )
 ...{
   if (e.Row.RowType == DataControlRowType.DataRow)
   ...{
     //可以在这里访问数据库的其它字段的值,可以设置默认选择项,具体应用,看自己的发挥了。
     //下面只是例子,举一反三,不再费话了
     DataRowView gv = (DataRowView)e.Row.DataItem;
     int itemSeleted = Int32.Parse(gv.Row["id"].ToString()) > 3 ? 0 : Int32.Parse(gv.Row["id"].ToString());
     DropDownList dr = (DropDownList)e.Row.FindControl("dropdown");
     dr.SelectedIndex = itemSeleted;
   }
 }
</script>

<html xmlns=" http://www.w3.org/1999/xhtml";>
<head id="Head1" runat="server">
 <title>GridView动态添加模板列的例子</title>
</head>
<body>
<form id="form1" runat="server">
 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
    OnRowDataBound="GridView1_RowDataBound">
   <Columns>
     <asp:BoundField HeaderText="标题"  DataField="text"/>
   </Columns>
 </asp:GridView>
</form>
</body>
</html>

本主题共有回贴0条。 共有[ 0]条记录,0/0页。 返回主题列表

id="rtf" style="WIDTH: 0px; HEIGHT: 0px" marginwidth="0" marginheight="0" src="about:blank" scrolling="no"> <script type="text/javascript"> rtf.document.designMode="On"; </script>

发表评论:(Html:禁止,UBB:允许)
笔名: 登录   ( 可输入2000 个字 )
src="/review.upload.do" frameborder="0" width="100%" scrolling="no" height="25">
粗体 图片 Flash图片 Media Player视频文件 realplay视频文件 超级连接 Email连接 Shockwave文件 引用文字
 

最近更新: [2006-11-30 01:13]
  • 全面体验Windows Vista的系统还原功能
  • 无法接收QQ密码修改确认邮件的解决办法
  • 网上赚钱的确可行 关键是把握正确方法
  • QQ密码保护申诉处理结果的通知方式
  • 网络赚钱七种方案介绍
  • 赛门铁克收购IMlogic 进军IM保护市场
  • 网络赚钱新手生存手册
  • 网上赚钱新手必备手册 网赚防骗守则
  • 网赚315 火眼金睛看穿骗子公司
  • QQ密码丢失后能做的事情:快速找回密码

火爆热评:
  • [2219] 百度贴吧播“黄”种 色情图片随手可得
  • [1177] PP点点通 2005
  • [1153] 天极QQ专区留言板
  • [1103] 腾讯QQ应用技巧宝典
  • [891] 赛门铁克收购IMlogic 进军IM保护市场
  • [608] 摩托罗拉 V3
  • [594] 奥斯卡最佳影片《阿甘正传》
  • [473] 《口袋妖怪绿宝石》中文版
  • [456] 诺基亚 7610
  • [416] 天极QQ图片酷 免费下载精彩挡不住

优秀专题推荐
ASP.NET初学者入门最佳实践 
完美的C++:C++/CLI
基于Visual C++.NET的GDI+编程快速入门
C#开发终端式短信的原理和方法
A SP.NET创建XML Web服务全接触

<script language="JavaScript" type="text/javascript"> function addSmile(val) { with(document.frmReviewPost){ contents.value += "[s"+val+"]"; } } function addEmotion(val) { with(document.frmReviewPost){ contents.value += "[em"+val+"]"; } } function refer( val) { with (document.frmReviewPost) { var tmp = eval("refer_" + val).innerText; if (tmp.indexOf("[refer=", tmp.indexOf("]")) > tmp.indexOf("]")) { tmp = tmp.substring(0, tmp.indexOf("[refer=", tmp.indexOf("]"))) + "[/refer]"; } var tmp1 = tmp.substring(0,tmp.length - "[/refer]".length); if(tmp1.lastIndexOf('[') > tmp1.lastIndexOf(']')) { tmp = tmp1.substring(0, tmp1.lastIndexOf('[')) + "[/refer]"; } // title.value = "回复" + rank + "楼"; tmp = tmp.replace("//r", ""); tmp = tmp.replace("//n", ""); refer.value = tmp; contents.focus(); } } String.prototype.GetCount = function(str,mode){return eval("this.match(/("+str+")/g"+(mode?"i":"")+").length");} function submitReviewForm(f) { with (f) { if (rfid.value.length > 0) { if (userName.value.length == 0) { userName.value = "天极网友"; //alert("请输入您的笔名!"); //userName.focus(); //return false; } if (userName.value.length > 10) { alert("笔名太长,字数不成超过10!"); userName.focus(); return false; } if (contents.value.length == 0) { alert("请输入评论内容"); contents.focus(); return false; } if (contents.value.GetCount > 3999) { alert("内容太长,字数不成超过2000"); contents.focus(); return false; } var ex = new Date(); ex.setFullYear(ex.getFullYear() + 1); setCookie("Comment_UserName", userName.value, ex, "/"); return true; } return false; } } with (document.frmReviewPost) { var tmp = getCookie("Comment_UserName"); if (tmp != null && tmp.length > 0) { userName.value = tmp; } } function support(val) { refer(val); with (document.frmReviewPost) { if (userName.value.length == 0) { userName.value = "天极网友"; } contents.value="顶"; submit(); } } function oppose(val) { refer(val); with (document.frmReviewPost) { if (userName.value.length == 0) { userName.value = "天极网友"; } contents.value="反对"; submit(); } } </script>

pic
天极Chinabyte: 新闻 | 评论 | 通信 | 互联网 | 科学 | E企业 | 解决议案 | 商用系统 | 服务器 | 存储 | 原创 | 他说 | ERP | CRM
天极Yesky: 消费导购 商情 | 手机 | 数码 | MP3 | 数码相机 | 笔记本 | 硬件 | 品牌机 | 网络 | 投影机 | 扫描仪 | 数字家庭 | 评测
天极Yesky: IT技术 软件 | Windows | DIY | 网管 | Linux | 设计 | Photoshop | 交换技术 | 开发 | MSDN | 安全 | 教育 | 论坛
天极Yesky: 数字生活 e时代 | 游戏 | 网游 | 竞技 | 电脑 | 电视 | 攻略 | 动漫 | COSPLAY | 图片 | 网摘 | 博客 | 下载
IT专家网: 数据库 | 移动计算 | 网络 | 安全 | 存储 | Windows安全 | 中小企业IT | Exchange | Web服务 | CIO | WinSystem | Whatis
欢迎投稿 | 天极服务 | 关于我们 | 电子杂志 | RSS订阅 | 友情合作 | 加入我们 | 网站地图 | 设定天极为首页
Copyright (C) 1999-2005 Chinabyte.com, All Rights Reserved 版权所有 天极网络

渝ICP证B2-20030003号 如有意见请与我们联系 Powered by 天极内容管理平台CMS4i

ASP.NET 2.0 中动态添加 GridView 模板列的...相关推荐

  1. ASP.NET 2.0 中动态添加 GridView 模板列

      ASP.NET 2.0 中动态添加 GridView 模板列的例子 动态添加列,关键是实现 ITemplate.InstantiateIn 方法.下面是一个添加 GridView 模板列的例子. ...

  2. GridView中动态生成ItemTemplate模板列

    我们知道DataGrid,DataList等控件都有Template列,我们可以通过动态的邦定模版列来实现,复杂逻辑的邦定.由于Page继承TemplateControl,所以在Page对象里面就可以 ...

  3. 测试ASP.NET 2.0中Gridview控件高级技巧

    ASP.NET 2.0中,新增加的gridview控件的确十分强大,弥补了在asp.net 1.1中,使用datagrid控件时的不足之处.因为在asp.net 1.1中,在使用datagrid时,很 ...

  4. ASP.NET 2.0中使用Gridview控件的高级技巧

    ASP.NET 2.0中,新增加的gridview控件的确十分强大,弥补了在asp.net 1.1中,使用datagrid控件时的不足之处.因为在asp.net 1.1中,在使用datagrid时,很 ...

  5. 在ASP.NET 2.0中操作数据:在GridView控件中使用TemplateField

    英文原版  |   本教程的代码(C#)   |   翻译目录   |   原文目录 导言 GridView是由一组字段(Field)组成的,它们都指定的了来自DataSource中的什么属性需要用到 ...

  6. asp.net 2.0中一次性更新所有GRIDVIEW的记录

    在asp.net 2.0中,gridview控件是十分不错的控件.有的时候,可能一个GRIDVIEW控件中 的各行都是文本框,如何一次性更新所有修改过的记录呢?有两种方法,一种是使用sqldataso ...

  7. asp.net 2.0 中GridView里设置日期格式

    在asp.net 1.0 中的datagrid 中 设置日期字段格式时用 DataFormatString="{0:yyyy-MM-dd}"即可.    在gridview 中设置 ...

  8. asp.net 2.0中新增的AppendDataBoundItems .dropdownlist 添加第一项

    在asp.net 2.0中,新增了一个AppendDataBoundItems属性,十分方便,使可以在执行数据绑定之前将项添加到 listcontrol 对象中.执行数据绑定之后,项集合中包含数据源中 ...

  9. 使用ASP.NET 2.0中的GridView控件

    在ASP.NET 2.0中,加入了许多新的功能和控件,相比asp.net 1.0/1.1,在各方面都有了很大的提高.其中,在数据控件方面,增加了不少控件,其中的gridview控件功能十分强大.在本文 ...

最新文章

  1. RxJava 内置多种用于调度的线程类型
  2. 九、数据库群集部署、配置 (二)
  3. .offset().top是什么意思?
  4. NYOJ 303 序号转换 数学题
  5. matlab图像相加例子,MATLAB图像处理例子
  6. double free or corruption的原因
  7. iOS-语法syntax
  8. jax-rs jax-ws_什么是JAX-RS注释? (第2部分)
  9. python协同过滤电影推荐_基于协同过滤的电影推荐系统的设计与实现
  10. 信息学奥赛一本通(1200:分解因数)
  11. Kubernetes架构及相关服务详解
  12. html溢出部分纵向滚动,html - 无法滚动到溢出包含的flex项目的顶部
  13. Qt4_中央窗口部件
  14. iOS:xxx referenced from
  15. NOI十连测 第三测 T1
  16. 如何以最好的方式实现游戏关卡
  17. creo数控编程怎么样_世界一流数控编程软件,你都有了解过么?
  18. Cadence Orcad Capture导出网表的方法图文教程及视频演示
  19. Fortran 95 函数、文件
  20. 第一位让我敬佩的学者张维迎

热门文章

  1. Linux的桌面环境比较与选择(gnome、kde、xfce、lxde 等)
  2. oracle fal_server,FAL_SERVER设置错误导致SWITCHOVER切换HANG住
  3. 物理像素,逻辑像素(pt),css像素(px),像素比(dpr)都是什么?px,em,rem等 都是什么?有什么区别?
  4. 【快速上手 MongoDB】介绍、安装、核心概念、基本操作
  5. War3地图编辑器基础:选择圈
  6. [猴子摘桃 ]有一只猴子,摘了很多桃子,每天吃下全部桃子数量一半+1, 第十天吃完之后发现还剩下1个,问:最初摘了多少
  7. Jenkins ---- 持续集成工具
  8. ubantu下安装Jupyter
  9. X61终于成功安装Lion,不容易啊
  10. 每周一部电影——黑客帝国3