asp.net GridView 表格之选中行

一、GridView 表格之选中行

asp.net选中行的功能最初以为只能通过属性中AllowGenerateSelectButton(运行时是否自动生成选择按钮)来实现,需要点击生成的选择按钮来操作,但这样使用并是很方便。

经寻找找到了改进办法如下效果

鼠标经过时背景色会改变,选中后可获取响应行的数据

实现方法如下:

首先前台设计属性框中事件绑定RowDataBound(在对时局进行了绑定后激发)事件

后台代码如下:

   /// <summary>
        /// 在对数据进行了绑定后激发
        /// 主要实现鼠标点击时选中该行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            #region 方法0 存在bug 暂未改进 供参考
            //e.Row.Attributes["style"] = "cursor:hand";
            //PostBackOptions myPostBackOptions = new PostBackOptions(this);
            //myPostBackOptions.AutoPostBack = false;
            //myPostBackOptions.PerformValidation = false;
            //myPostBackOptions.RequiresJavaScriptProtocol = true; //加入javascript:头
            //String evt = Page.ClientScript.GetPostBackClientHyperlink(sender as GridView, "Select$" + e.Row.RowIndex.ToString());
            //e.Row.Attributes.Add("onclick", evt);
            #endregion

            #region 方法1
            //if (e.Row.RowType == DataControlRowType.DataRow)
            //{
            //    e.Row.Attributes.Add("onClick", "__doPostBack(‘" + GridView1.UniqueID + "‘,‘Select$" + e.Row.RowIndex + "‘);");//此处为两个“_”
            //}
            #endregion

            #region 方法2
            int i;
            for (i = 0; i <= GridView1.Rows.Count; i++)
            {
                //首先判断是否是数据行
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    //当鼠标停留时更改背景色
                    e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor=‘#00A9FF‘");
                    //当鼠标移开时还原背景色
                    e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
                    //单击行的任意列会自动选中此行
                    e.Row.Attributes.Add("onclick", "__doPostBack(‘GridView1‘,‘Select$" + e.Row.RowIndex + "‘)");
                }
            }
            #endregion

二、获取选中行数据

选中某行后获取数据

在属性框中事件选项中选择设置SelectedIndexChanged( 在GridView中选择行时,在该行选择完成后激发)事件选项

后台代码如下

        /// <summary>
        /// 选择某行时在最左侧更新显示数据详细
        /// 在DataGriew选择行时,在该选择操作完成后激发
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (GridView1.SelectedIndex >= 0)
            {
                ClearTreeNodeChecked(TreeView1.Nodes);
                txtName.Text = GridView1.SelectedRow.Cells[0].Text;
                txtPhone.Text = GridView1.SelectedRow.Cells[1].Text;
                txtSendTime.Text = GridView1.SelectedRow.Cells[2].Text;
                GetUserNodes();
            }
        }
时间: 2024-10-05 20:51:21

asp.net GridView 表格之选中行的相关文章

asp.net GridView 表格之分页显示与翻页功能及自定义翻页页码样式

一.实现分页功能  GridView实现分页只需要在属性框中将AllowPaging(是否在GridView中打开分页功能)设置为true即可 有时打开分页后不显示页码 确保AllowCustomPaging(是否打开对自定义分页的支持)为False即可 二.实现翻页功能  如何点击页码实现翻页呢? 在属性框中事件选择设置PageIndexChanging(在Grid View的当前索引页正在更改事触发)这一事件 后台代码如下 /// <summary> /// 翻页操作 /// 在GridV

asp.net GridView 表格之取消设计最初显示的绑定列

新建 GridView后若手动添加设置列,会有最初的绑定列,如下所示,显示无用的最后面的几列,虽运行时不影响但在设计时感觉还是怪怪的,如何不显示呢 这时只需要将属性列中AutoGenerateColumns(运行时是否给予关联的数据源自动上成列)设置为"false"即可 结果如图

JS获得ASP.NET(C#)页面上GridView选中行的信息

做web开发还是新手的我,之前为了得到Gridview中的值,是将其通过服务端控件先将Gridview中的数据保存到服务端,然后绑定当一个服务端的隐藏域,之后通过js读取隐藏域中的值,现在感觉这种方法很笨:虽然得到数据是很容易的仅仅是遍历一下Gridview,但是考虑的性能,我还是想用js来读取.现在可以得到我想要的数据了,为了方便以后和我一样的新手,现在简单记下,希望能够抛砖引玉,有待找到更好的解决办法.如果您有更好的想法请联系qq:643166601,我会及时记录更新. 1.准备数据库,我的

通过JS获取页面表格选中行信息

在ASP.NET中表格的显式方法多种多样,有html标签<table></table>,有asp服务器控件GridView,还有Repeater控件等都可以帮我们在页面显式表格信息.GridView控件比较强大,它有自带的属性和方法可以用来对显式的表格数据进行各种操作.但是如果使用传统html标签<table></table>或者是Repeater控件来显式数据,又该如何取到选中行的数据呢.这里我们来介绍一下利用JS来取页面表格数据的方法. 如图所示,我们需

隐藏列获取不到值,表格选中行提示未选中

1,隐藏某列之后,获取该列的值为空,将绑定属性加到其它未隐藏字段的关联query字段,以逗号隔开 2,当使用到标准产品功能,选中某一行,提示未选中,需要用默认的表格名称queryGrid 例:生成凭证选中行提示未选中,要使用默认id(queryGrid)

winform编程设定listview选中行

在做项目中,需要用到listview显示数据.同时,项目要求,通过检索用户输入的数据,程序通过搜索,确定数据所在的行并通过程序设定为选中状态并高亮显示.同时,正常响应鼠标单击响应的效果,单击时,程序设定的选中行清除选中状态.类似的效果如下: 以选中第4行为例,我的实现代码如下: //更改listView属性 this.listViewUser.GridLines = true;//显示表格线 this.listViewUser.View = View.Details;//显示表格细节 this.

Dev统计选中行、如需其他数据源可留言

Clipboard.Clear(); Dictionary<string, decimal> dtary = new Dictionary<string, decimal>(); string Ls = ""; foreach (int i in gridView1.GetSelectedRows()) { var da = gridView1.GetRow(i); //GridView gv = gridView1; //if (dr != null) for

ASP.NET——GridView控件绑定数据

        ASP.NET提供了许多种数据服务器控件,用于在Web页面中显示数据库中的表数据,GridView控件就是其中之一.这个控件和我们以前学过的DataGridView控件几乎是一样的,所以对GridView控件我们也并不陌生,下面简单介绍一下它的使用.         前台: 在工具箱中找到GridView控件,并把它拖拽到代码编辑区域.   第一步,进入设计界面,在GridView控件上方有一个向右的黑色小三角,单击这个按钮,选择编辑列,如图:          第二步,去掉自动

GridView CheckBox 全选

GridView CheckBox 全选 <script type="text/javascript"> $(function () { $("#allCheck").click(function () { //点击全选按钮 if ($(this).prop("checked")) { $("#GridView1 :checkbox").prop("checked", true); } else