`
mmdev
  • 浏览: 12939132 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

C#动态生成gridview

 
阅读更多

最近,开发了个项目,提交测试时,测试人员要测试后台录入数据,问题出来了,由于权限限制,不能直接到DB服务器上去查数据【isqlw不能用了,哎】,DBA也不在,其他一切途径似乎都不可行了。哎,命苦啊,只有再开发个web查询页面,在页面中输入select语句,来显示结果集。结果集用什么显示,当然是GridView了。不过结果集可能有多个,怎么全部显示呢,限定结果集为10个,页面中用10个GridView,通过隐藏,来显示?No,这种山寨做法,不是我所能搞不定的,咱来动态生成GridView吧,有几个结果集,就动态生成几个GridView,呵呵,这样多好。很快写下了下面的核心代码:
private void BindData()
{
try
{
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLConnString"].ToString()))
{
string sql = this.txtSQL.Value.Trim();
SqlDataAdapter myda = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
con.Open();
myda.Fill(ds, "tb");
for (int i = 0; i < ds.Tables.Count; i++)
{
GridView temp = new GridView();
this.Page.Controls.Add(temp);
temp.AutoGenerateColumns = true;
temp.CssClass = "GreenBorderTbl";
temp.HeaderStyle.CssClass="GreenBorderTblTh";
temp.ShowFooter = true;
temp.FooterStyle.CssClass = "Foot";
temp.DataSource = ds.Tables[i];
temp.DataBind();
if (ds.Tables[i].Rows.Count > 0)
{
temp.FooterRow.Cells[0].Text = string.Format("共{0}条记录", ds.Tables[i].Rows.Count);
}
}
con.Close();
}
}
catch (Exception ex)
{
Response.Write(string.Format("BindData:[StackTrace]{0}[Message]{1}", ex.StackTrace, ex.Message));
}
}
运行,my god! 竟然出现了下面的图片:

抓紧看msdn,GridView的构造函数,看到了下面的代码:

CS:

// Add the GridView object to the Controls collection
// of the PlaceHolder control.
GridViewPlaceHolder.Controls.Add(customersGridView);

aspx:

<asp:placeholder id="GridViewPlaceHolder" runat="Server"/>

呵呵,发明创造咱不行,比葫芦画瓢也不行吗?抓紧在aspx中声明:<asp:placeholder id="GridViewPlaceHolder"
runat="Server"/> ,在cs中把this.Page.Controls.Add(temp)替换成this.GridViewPlaceHolder.Controls.Add(temp)。编译运行程序,呵呵,出现了下面的画面:
呵呵,动态生成gridview是达到了,placeholder是什么东东呢,以后再说吧!

keyword: 动态 生成 gridview

分享到:
评论

相关推荐

    动态生成Grid View

    动态生成GridView,非常实用,特别是用于打印GridView信息用作的双GridView,导出

    设置gridview列宽(超好用)

    设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽

    GridView动态创建列头丶自定义多行合并表头

    GridView动态创建列头丶自定义多行合并表头

    Winform TabControl动态创建并实现GridView拖拽显示

    Winform 实现TabControl动态创建 选中行右键即可创建,创建完成后将行拖拽到下面即可显示效果

    C# datagridview 动态加载

    动态加载gridview里面的列. //动态生GridView protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { switch (e.Row.RowType) { //判断是否表头 case DataControlRowType.Header: /...

    ASP.NET Gridview隐藏/显示列源码

    大部分代码是在GridView的RowCreated事件生成客户端的功能的。当GridView的Header行被创建后,一个带负号的HyperLink被插入每个Header行的单元格中用来隐藏列。 这个hyperlink通过它的onclick事件调用一个HideCol的...

    使用gridview生成excel文件

    只要你构造好gridview即可调用公用类生成excel文件

    提升开发 c# gridview 用于数据库的工具源码

    在 .net 2005下,使用gridview 对数据库操作时,有很多工作是重复,为了方便,我编写了此程序,可以自动生成录入控件代码,生成汉字表头代码,自动生成变量。还不是很完善,我的邮箱:113768175@qq.com

    Asp.net下的GridView强势应用

    这个实例是我从网上找到并整理...包括了Asp.net下关于GridView的几种特殊应用,如生成空的GridView、添加空行、动态生成GridView、单击编辑内容等,特别值得一提的是里面使用GridView实现的电子表格,希望对大家有用。

    对GridView进行扩展,可进行多表头设计,并且可生成Excel,无需要C#操作Excel进行导出。

    对GridView进行扩展,可进行多表头设计,并且可生成Excel,无需要C#操作Excel进行导出。仅供学些参考。

    GridView自动增加序号(三种实现方式)

    第一种方式,直接在Aspx页面GridView模板列中.这种的缺点是到第二页分页时又重新开始了. 代码如下: ”序号” InsertVisible=”False”&gt; &lt;ItemTemplate&gt; &lt;&#37;#Container.DataItemIndex+1%&gt; &lt;/ItemTemplate&gt; ...

    右击GridView弹出菜单

    创建自定义菜单右键 1. 当鼠标悬浮到控件对象上, 右击, 会弹出此自定义控件. ...结合GridView使用的自定义控件,App_code/data.cs文件为数据生成文件PopupMenu_InGridView为演示文件夹、TraceMenu为自定义组建源码

    用C#开发的.Net代码生成器

    这是一个用C#开发的.net代码生成器。针对在winform中选择的数据库表,主要能生成4种类型的代码,即查看、添加、编辑和删除四种功能。 并没有使用gridview控件的自带编辑和删除功能,更加灵活。能够针对不同的字段...

    C#操作EXCEL类

    主要的问题是EXCEL生成图的问题,因为系统的数据表很多个表(数据量也很大,经常上几十万行数据),而且分析字段也不固定,这意味着不好利用实现准备好的模板,c#打开模板把数据写到相应的地方,自动就生成图的方法...

    报告如何使用aspnet mvc查询生成器向gridview扩展t624853提供数据.zip

    报告如何使用aspnet mvc查询生成器向gridview扩展t624853提供数据.zip

    C#开发经验技巧宝典

    0440 为什么要生成静态页 242 0441 用快捷键 Ctrl + N 实现屏蔽 242 0442 如何在Web页中使用广告控件 242 0443 滚动显示博客公告 243 第11章 HTML客户端控件与服务器控件 245 11.1 数据控件应用技巧 246...

    devexpress实现多行表头(复合表头)

    许多统计报表中都会涉及到复合表头的实现,最近写了一个复合表头的实例,与大家分享。

    C#基础类库

    C#基础类库 1.Chart图形 Assistant创建显示图像的标签和文件 OWCChart统计图的封装类 2.Cookie&Session;&Cache;缓存帮助类 CacheHelper C#操作缓存的帮助类,实现了怎么设置缓存,怎么取缓存,怎么清理缓存等...

    C#基类库大全下载--苏飞版

    GridViewExport 14.分词辅助类 SegList 15.汉字转拼音 EcanConvertToCh PinYin 16.配置文件操作类 ConfigHelper 17.日历 CNDate 18.上传下载 DownLoadHelper FileDown FileUp UpLoadFiles 19.时间操作类 DateFormat ...

Global site tag (gtag.js) - Google Analytics