gridview

Gridview多级复杂表头

让人想犯罪 __ 提交于 2020-03-25 21:40:52
设计GridView多级复杂表头,在实现过程中有几个问题: 1、如何控制表头中字体颜色、背景色的控制 2、C#中也有VB中IIF的写法: newRow["1Rev"] = String.IsNullOrEmpty(strRev[1]) ? "" : String.Format("{0:#,##0}", Convert.ToDouble(strRev[1])); 3、可以给字符串付空值:string myString = null; 4、判断SQL查询字段是否为null,可以使用:myrow[0] == System.DBNull.Value 为true? 5、Convert.ToString(myrow[0]),如果myrow[0]为空,返回""。 6、从ASP.NET编程之道上抄来的例子: 后台View Code using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class GridviewMultiHeader : System.Web.UI.Page{ protected void Page_Load(object sender,

GridView的RowCommand事件中取得行索引

孤街醉人 提交于 2020-03-25 21:18:03
前台添加一模版列,里面添加一个Button < asp:TemplateField HeaderText = " 测试 " > < ItemTemplate > < asp:Button ID = " Button1 " CommandName = " btn " runat = " server " Style = " position: relative " Text = " Button " /> </ ItemTemplate > </ asp:TemplateField > 后台 protected void gv_Company_RowCommand( object sender, GridViewCommandEventArgs e) { if (e.CommandName == " btn " ) { int index = Convert.ToInt32(e.CommandArgument); DataKey key = this .gv_Company.DataKeys[index]; string tt = key.Value.ToString(); Response.Write(tt); } } // 行数据绑定 protected void gv_Company_RowDataBound( object sender,

Gridview获取选定行的办法

亡梦爱人 提交于 2020-03-25 21:17:42
基本上使用.NET平台不会有人没用过 GridView 的,获取其选定行也成为新手常见的问题,现在结合以前的代码,总结三种可能的情况. 注意这里的三种方法不是互为补充相互替代的,是应用在不同情况下的。 一. 页面代码中有如下语句: OnSelectedIndexChanged ="GridView2_SelectedIndexChanged" (事实上在设计视图下双击gridview机会自动生成此语句,并自动在C#也中生成如下) protected void GridView1_SelectedIndexChanged( object sender, EventArgs e) { int index = GridView1.SelectedIndex; //选定行的索引号 try { if (index != -1) { TextBox2.Text = this .GridView1.SelectedRow.Cells[1].Text.ToString(); //这里取道所选行第二列的元素,注意这里的列需要为 BoundField列,不能是 TemplateField,如果是后者,要用到FindControl,第二种方法中有示例 } 这种方法下,GRIDVIEW中一般会有个选择按钮(也可以是编辑、删除、或者其他TemplateField中的button),总之要按钮驱动选定行的改变

GridView 获取当前行的索引值

人盡茶涼 提交于 2020-03-25 21:17:15
在用GridView控件时,我们经常会碰到获取当前行的索引,通过索引进行许多操作。例如,可以获得当前行某一个控件元素;设置某一元素的值等等。 下面结合实例介绍几种获得GridView当前行索引值的方法。 实例: ① 目的:获取GridView中RowCommand的当前索引行。 ② 前台页面:在GridView中添加一模版列,里面添加一个LinkButton控件。 代码: <asp:TemplateField HeaderText="操作"> <ItemTemplate> <asp:LinkButton ID="lbtnQianRu" runat="server" CommandName="QianRu" CommandArgument='<%# Eval("Id") %>'>签入</asp:LinkButton> <asp:LinkButton ID="lbtnQianChu " runat="server" CommandName="QianChu">签出 </asp:LinkButton> </ItemTemplate> </asp:TemplateField> 小提示:如果在后台代码中用e.CommandArgument取值的话,前台代码就必须在按钮中设置CommandArgument的值,值为绑定的数据库字段。如: /

GridView获取当前行

时光总嘲笑我的痴心妄想 提交于 2020-03-25 21:16:44
int row = ((GridViewRow)((DropDownList)sender).NamingContainer).RowIndex; //获取GridView里的DropDownList当前选中的行 在用GridView控件时,我们经常会碰到获取当前行的索引,通过索引进行许多操作。例如,可以获得当前行某一个控件元素;设置某一元素的值等等。 下面结合实例介绍几种获得GridView当前行索引值的方法。 实例: ① 目的:获取GridView中RowCommand的当前索引行。 ② 前台页面:在GridView中添加一模版列,里面添加一个LinkButton控件。 代码: <asp:TemplateField HeaderText="操作"> <ItemTemplate> <asp:LinkButton ID="lbtnQianRu" runat=" server " CommandName="QianRu" CommandArgument='<%# Eval("Id") %>'>签入</asp:LinkButton> <asp:LinkButton ID="lbtnQianChu " runat="server" CommandName="QianChu">签出 </asp:LinkButton> </ItemTemplate> </asp:TemplateField>

获取GridView中RowCommand的当前选中行的索引或主键Id

不羁岁月 提交于 2020-03-25 21:15:23
这两天一直在考虑如何设置新闻发布系统的文章审核模式。初步思路是通过一个"Button"来控制审核状态,在绑定GridView的时候通过表中的字段isshow来设置"Button"的属性。如果isshow=1, 则 btn.Text = "已审核"; btn.Enabled = false;如果isshow=0,则 btn.Text = "审核";btn.Enabled = true; isshow=0是指文章刚被编辑好,管理员还未审核这篇文章是否正确,当管理员认为无误以后,点击“审核”按钮,将isshow设置为1,这样前台就能看到被审核过的文章。 下面列出前台aspx中的关于GridView的代码: <asp:GridView ID="pageGridView" runat="server" AutoGenerateColumns="False" DataKeyNames="info_id" OnRowCommand="pageGridView_RowCommand"> <Columns> <asp:BoundField DataField="info_id" HeaderText="序号" SortExpression="info_id" HtmlEncode="False"> <HeaderStyle BackColor="DarkGoldenrod" Font-Size=

GridView 实现复杂的表头

喜欢而已 提交于 2020-03-25 21:14:21
实现原理: 1.将GridView 属性 ShowHeader 设为FALSE 1 < asp:GridView ID ="GridView1" runat ="server" AutoGenerateColumns ="False" Width ="728px" bordercolorlight ="black" bordercolordark ="black" ShowHeader ="False" > 2 < Columns > 3 < asp:BoundField DataField ="字段1" HeaderText ="字段1" /> 4 < asp:BoundField DataField ="字段2" HeaderText ="字段2" /> 5 < asp:BoundField DataField ="字段3" HeaderText ="字段3" /> 6 < asp:BoundField DataField ="字段4" HeaderText ="字段4" /> 7 < asp:BoundField DataField ="字段5" HeaderText ="字段5" /> 8 < asp:BoundField DataField ="字段6" HeaderText ="字段6" /> 9 < asp:BoundField DataField ="字段7"

GridView,DataList,DetailsView,FormView,ListView,Repeater,DataPager

自闭症网瘾萝莉.ら 提交于 2020-03-25 21:12:11
Net 2.0中5个数据源控件,GridView,DataList,Repeater ,DetailsView,FormView (1)其中前3个用于呈现多列数据,后面2个用于呈现单列数据,即常用的数据明细. (2)GridView和DetailsView控件的布局固定,自定义数据显示的布局功能有限,一般适合布局简单的数据呈现. (3)DataList,Repeater和FormView数据控件都有很强的自定义布局能力,如果数据呈现需要较为复杂的布局方案,这3个控件是首选 . (4)GridView ,DetailsView和FormView都是2.0版本新增控件,内置了分页,排序等等功能,其改进程度是1.1所提供控件无法比的. (5)DataList和Repeater是1.1版就提供的控件,内置功能较弱,需要自己实现分页,排序,数据事件等功能. 有趣的是,在现在的Aspnet平台上,如果从功能上来说呈现单列数据时DetailsView和FormView相对应,DetailsView布局固定FormView自定义布局,呈现多列数据时只有GridView来负责布局固定的数据,从功能上来说,没有对应的控件与GridView相配. DataList提供的数据功能与GridView相比,实在是太弱了.与GridView几乎不需要编程就能担负数据呈现的重任相比

DEV控件

情到浓时终转凉″ 提交于 2020-03-25 19:12:24
1、设置Gridview控件的某列是否可编辑(CUser:数据库字段) this.gdv.Columns["CUser"].OptionsColumn.AllowEdit = false; 2、设置Gridview控件整体不可编辑 或者this.gdv.OptionsBehavior.Editable = false; 3、设置Gridview控件,是否排序(gdv:控件名称) this.gdv.OptionsCustomization.AllowSort = false; 4、使Gridview控件,失去选中焦点 this.gdv.FocusedRowHandle = -1 5、判断Gridview是否选中了数据 int index= this.gdv.GetFocusedDataSourceRowIndex() ; 如果index小于0,证明没有选中行,否则就选中了行数据 6、获取选中Gridview的行数据 DataRow dr= this.gdv.GetFocusedDataRow(); 7、删除选中Gridview行数据 this.gdv.DeleteRow(this.gdv.FocusedRowHandle); 8、调整列宽 //自动调整所有字段宽度 this.gridView1.BestFitColumns(); //调整某列字段宽度 this.gridView1

将GridView中的数据导出到EXCEL

纵然是瞬间 提交于 2020-03-25 05:04:01
  在后台进行数据查询操作时,我们可能会使用GridView控件进行数据展示,有时需要将GridView控件中显示的数据导出到EXCEL文件中,通过调用GridView控件的RenderContol方法将数据导出到字符流中进行输出。   首先为GridView控件设置数据源,并进行绑定操作,然后在导出按钮添加如下点击事件代码。 protected void btnExport_Click(object sender, EventArgs e){ Response.Clear(); Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls"); //设置输出流为简体中文 Response.Charset = "GB2312"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); //设置输出文件类型为excel文件。 Response.ContentType = "application/ms-excel"; StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); GridView1