GridView如果被分页了,怎么获取所有页某一列的所有值。我用了SqlDataSource去绑定了数据源。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GridView如果被分页了,怎么获取所有页某一列的所有值。我用了SqlDataSource去绑定了数据源。相关的知识,希望对你有一定的参考价值。

问题已解决。有一个类似问题的回答中给了一个方法,虽然不知道是不是个好方法,但是是可行的。
GridView1.AllowPaging = false;
SqlDataSourceRecord.FilterExpression = GetFilter();//写这句是因为我需要改变GridView里显示的数据,如果没有这个需求就不需要了。函数是自己另外写的。
GridView1.DataBind();
int count = GridView1.Rows.Count;
GridView1.AllowPaging = true;
接下来就是用个循环去读行内某一列的数据,做自己想要做的操作就行了,就和读当前页是一样的了。

供和我有同样问题的人参考。

不知道是否还有更好的方法。

DataTable tb = (DataTable)GridView1.DataSource;
int count = tb.Rows.Count;
string[] a= new string[count];
for (int i = 0; i < count;i++ )

a[i] = tb.Rows[i].Field<int>("id").ToString();
// Response.Write(a[i].ToString());

这样试试不行的话在hi我一起讨论
希望对你有帮助追问

并没有Field这个属性啊~

追答

不好意思,我做实验的是用dataset的
好像SqlDataSource确实不行
不好意思没有帮到你
做这种功能的话可以用dataset来绑定数据
这样我上面的方法就可以用了

参考技术A 分页与不分页 取得方法是一样的追问

不一样啊,分页后用GridView1.Rows[i].Cells[j].Text只能获取当前页面的,可是其它页的就不行啊。

追答

如果分页了哪用你的方法肯定只能娶到当前页
如果你要取其它页的 那你只能在SqlDataSource取

参考技术B 好人一生平安啊,虽然问题解决了,可你手里还有10分没发出来啊。小弟在天边祝福你,好人家庭幸福,一生平安,大吉大利!把分散给我吧,我伤不起啊,好人

gridview 某一列換行(自動)


gridview里有一列绑定的数据很长,显示的时候在一行里面显示,页面拉得很宽。
原因是连续英文段为一个整体导致的,
在RowDataBound中添加上了一句e.Row.Cells[2].Style.Add("word-break", "break-all")就可以。如果要给所有的列增加此属性:
protected void Page_Load(object sender, EventArgs e)
    {
        //正常换行
        GridView1.Attributes.Add("style", "word-break:keep-all;word-wrap:normal");
        //下面这行是自动换行
        GridView1.Attributes.Add("style", "word-break:break-all;word-wrap:break-word");
        if (!IsPostBack)
        {
             bind();//调用数据绑定即可
        }
    }

以上是关于GridView如果被分页了,怎么获取所有页某一列的所有值。我用了SqlDataSource去绑定了数据源。的主要内容,如果未能解决你的问题,请参考以下文章

怎样隐藏DataTable中的某一列

分页的Gridview要导出excel怎么导出。如果有2页信息。在导出的excel中可以看到全部的信息怎么做?急急急

devexpress gridview 中选择多行 剪切,粘帖功能怎么做?

请问在VS2005中,怎么将gridview中的一列弄为下拉列表框的,可以吗?因为初学,不是很懂,望高手指点谢谢

如何从C#中获取ListView中选中某一行某一列的值

.net高手:我想在gridview加入一列图片