gridview绑定list

问题描述

protectedvoidButton1_Click(objectsender,EventArgse){...........GridView2.DataSource=MiningResult;GridView2.DataBind();GridView2.HeaderRow.Cells[0].Text="事务";}...................protectedvoidGridView2_SelectedIndexChanged(objectsender,EventArgse){stringa=GridView2.Rows[this.GridView2.SelectedIndex].Cells[0].Text.Trim();}MiningResult是一个ArryList,我想把它里面的数据在GridView2里显示(数据只有一列),然后单击GridView2里的某一行后把这行的这个数据赋给a,我该怎么做啊,像上面我这样写了后,单击button1后GridView2能正常显示数据,可单击行后总提示索引超出范围,设置断点查看发现在GridView2_SelectedIndexChanged事件里GridView2是没数据的。我应该怎么修改才能实现这个功能?

解决方案

解决方案二:
this.GridView2.SelectedIndex].Cells[1]不是this.GridView2.SelectedIndex].Cells[0]
解决方案三:
另外,EnableViewState="true"是必须的。例如<%@PageLanguage="C#"AutoEventWireup="true"EnableViewState="true"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><scriptrunat="server">protectedvoidGridView2_SelectedIndexChanged(objectsender,EventArgse){stringa=GridView2.Rows[this.GridView2.SelectedIndex].Cells[1].Text.Trim();Label1.Text=a;}protectedvoidButton1_Click(objectsender,EventArgse){ArrayListal=newArrayList();al.Add("AA");al.Add("BB");GridView2.DataSource=al;GridView2.DataBind();GridView2.HeaderRow.Cells[0].Text="事务";}</script><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title></title></head><body><formid="form1"runat="server"><asp:GridViewID="GridView2"runat="server"OnSelectedIndexChanged="GridView2_SelectedIndexChanged"AutoGenerateSelectButton="true"></asp:GridView><asp:ButtonID="Button1"runat="server"Text="Button"OnClick="Button1_Click"/><asp:LabelID="Label1"runat="server"Text="Label"></asp:Label></form></body></html>
解决方案四:
引用1楼net_lover的回复:

this.GridView2.SelectedIndex].Cells[1]不是this.GridView2.SelectedIndex].Cells[0]

不行还是提示索引超出范围在断点里看似乎单击行的时候gridview里就没数据一样,可点击button后gridview里都显示出来了啊
解决方案五:
建议你先把那个古老的教程的从第一篇开始的所有例子做一遍,然后再问。你会看到,比如说,人家很少写Page_Load中的代码的,也不禁用GridView的ViewState的。丢失了GridView2的行(asp.net没有自动重建GridView2的行),可能是你禁用了ViewState,也可能是你的Page_Load中写了不该写的初始化代码。
解决方案六:
引用3楼u010450327的回复:

Quote: 引用1楼net_lover的回复:
this.GridView2.SelectedIndex].Cells[1]不是this.GridView2.SelectedIndex].Cells[0]

不行还是提示索引超出范围在断点里看似乎单击行的时候gridview里就没数据一样,可点击button后gridview里都显示出来了啊

直接拷贝粘贴上面的代码就可以看效果了。你怎么测试的不行?

时间: 2024-09-14 10:44:09

gridview绑定list的相关文章

ASP.NET―001:GridView绑定List

这篇文章主要介绍了ASP.NET―GridView绑定List.页面返回值具体实现,需要的朋友可以参考下 用惯了WPF的绑定,ASP.NET的绑定貌似不是很好用.下面看看ASP.NET绑定的用法.一般来说可以直接绑定DataTable的,不过我觉得绑定List比较符合面向对象编程. 绑定的方法是两句代码:    代码如下: GridView名.DataSource = List<自定义类>;     GridView名.DataBind();       直接看例子吧,以下是一个绑定一个Per

菜鸟一枚,希望大神帮忙!我的问题是关于gridview绑定数据源的asp.net

问题描述 菜鸟一枚,希望大神帮忙!我的问题是关于gridview绑定数据源的asp.net 希望在UserStateID后面加上第二张标的Name字段 解决方案 这个是给数据库添加一列然后从数据库中读取的:ALTER TABLE 表名ADD 列名 类型; 下面的不是从数据库添加然后读取的http://zhidao.baidu.com/question/201260940 如果回答对你有帮助请采纳 解决方案二: 直接在sql中连接查询即可select a.* from 表1 a join 表2 b

gridview 绑定mysql 的datetime数据类型字段出现问题

问题描述 gridview 绑定mysql 的datetime数据类型字段出现问题 我在用gridview 绑定mysql数据时 有一字段数据类型为datetime的内容不能显示出来 其余字段的内容都能显示 这是什么情况 如图所示 解决方案 你好,datetime数据可以转型.用.ToString("yyyy-MM-dd hh:mm:ss").

Dev GridView 绑定List&amp;lt;T&amp;gt;、BindingList &amp;lt;T&amp;gt;、BindingSource

今天听到同事处理数据结构的时候特意处理为了 BindingList<T>,据说可以直接绑定到Dev GridView上,于是测试了一下: 1.在Dev GridView中新增三列,三列的FieldName分别对应与FormItem类对应:ItemKey.Name.Enable 具体类代码如下: public class FormItem { /// <summary> /// 标识 /// </summary> public string ItemKey { get;

gridview绑定数据源不显示列,就一直是column1、2、3三列

问题描述 gridview绑定数据源不显示列,就一直是column1.2.3三列 解决方案 解决方案二:这个要看你代码好吧解决方案三:你没有绑定成功,自动生成的列也没有去掉解决方案四:grid.datasource=dt;//你的数据源grid.databind();//绑定 解决方案五:引用3楼Hsuifengershi的回复: grid.datasource=dt;//你的数据源grid.databind();//绑定 +1猜测楼主像使用winform程序一样,只指定了数据源,没执行绑定操作

gridview绑定一个表后,不想显示数据,怎么实现

问题描述 如题 解决方案 解决方案二:<asp:BoundColumnDataField="NewsAuthor"HeaderText="发布人"Visible="false"></asp:BoundColumn>解决方案三:1清空表,2设置datasource为null解决方案四:隐藏所有列就是了gdvList.Columns[0].Visible=false;gdvList.Columns[1].Visible=fal

关于GridView绑定IList&amp;amp;lt;&amp;amp;gt;问题

问题描述 正在做的一个东东遇到了问题,请各位大侠帮忙解决.问题:数据是通过反射机制绑定到"IList<EntityUser>",在IList<EntityUser>中存在EntityAdmin的子查询,Entity格式如下:----------------------------------------------EntityUser中包含publicintIDpublicstringNamepublicintAdminID//[外键]创建人IDpublicEn

一个简单的gridview绑定,你绝对解决不了

问题描述 第一次加载页面的时候显示全部数据,gridview绑定正确,分页功能正常.设断点后,第一次加载数据显示正常,如下图所示:当我输入"烤肉"查询条件时,设断点,执行到最后一步绑定代码,显示数据也正常,如下图所示:再执行下一步,浏览器跳出来显示的数据竟然还是全部的数据,清理浏览器的代码我也在源代码里面加上了,请问还可能是什么原因? 解决方案 解决方案二:一定是你把代码直接放到Page_Loaded里边了解决方案三:查询过后gridview没有重新绑定解决方案四:引用1楼tzh520

gridview绑定数据源详细用法

这里新建了一个空的DateSet对象,并调用DataAdapter的Fill方法填充数据,然后通过设定GridView的数据源,调用它的DataBind方法就实现了数据绑定. 程序代码  代码如下: OleDbConnection conn = new OleDbConnection(); conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("db.mdb

【50分】GridView绑定后台数据有重复值

问题描述 用GridView<asp:HyperLinkID="HyperLink1"runat="server"NavigateUrl='<%#"Default2.aspx?id="+Eval("任务标题")%>'Text='<%#Eval("任务标题")%>'Font-Overline="false"></asp:HyperLink>