如何在GridView的数据源中获得记录的计数
本文关键字:记录 数据源 GridView | 更新日期: 2023-09-27 18:01:26
我有一个grid view
已经与模型绑定,现在我想得到这个GridView's Datatable
中的行数?页数上没有。
可以在集合中强制转换数据源,然后按以下方式计数
var count = ((ICollection<T>)GridView.DataSource).Count;
如果数据源是datatable,那么
DataTable dt = gridView.DataSource as DataTable;
int count = dt.Rows.Count;
可以将GridView的DataSource转换为DataTable或DataView,然后计算行数。
DataTable dt = (DataTable) gridView.DataSource;
int count = dt.Rows.Count;
但是这只在绑定时可用,而不是在回发时可用。
要获得post上的行计数,可以在绑定到GridView之前将DataTable
或其行计数存储在会话中。
DataTable dt = GetDataSourceTable();
Session["RowsCount"] = dt.Rows.Count;
Session["DataTable"] = dt; //Should be avoided since session are per user.
gridView.DataSource = dt;
gridView.DataBind();
之后,您可以从会话访问Count
。
您尝试过以下操作吗?
yourDataTable.Rows.Count();
你可以试试:
textBox1.Text = gridView1.RowCount.ToString();
您可以使用以下代码:
DataView MyDV = (DataView)SqldatasourceName.Select(DataSourceSelectArguments.Empty);
MyDV.RowFilter = SqldatasourceName.FilterExpression;
int RecordCount = MyDV.Count;
我做了以下的事情。
在Gridview bounbound上创建了一个事件。这将在每次绑定gridview时更新一个带有Record计数的标签。
protected void GridView1_DataBound(object sender, EventArgs e)
{
RecordCountLbl.Text = "Record Count: "+ GridView1.Rows.Count.ToString();
}