我已经与模型绑定了grid view
,现在我想获取此GridView's Datatable
中的行数?不在页数上。
答案 0 :(得分:5)
您可以在集合中投射数据源,然后按照以下计算
var count = ((ICollection<T>)GridView.DataSource).Count;
或者如果您有数据表作为源,那么
DataTable dt = gridView.DataSource as DataTable;
int count = dt.Rows.Count;
答案 1 :(得分:4)
您可以将GridView的DataSource转换为DataTable或DataView,然后计算行数。
DataTable dt = (DataTable) gridView.DataSource;
int count = dt.Rows.Count;
但这只能在绑定时使用,而不能在回发时使用。
要在回发后获取行计数,您可以在将DataTable
或其行计数绑定到GridView之前将其存储在会话中。
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
。
答案 2 :(得分:3)
您是否尝试过以下内容?
yourDataTable.Rows.Count();
答案 3 :(得分:0)
你可以试试这个:
textBox1.Text = gridView1.RowCount.ToString();
答案 4 :(得分:0)
您可以使用以下代码:
DataView MyDV = (DataView)SqldatasourceName.Select(DataSourceSelectArguments.Empty);
MyDV.RowFilter = SqldatasourceName.FilterExpression;
int RecordCount = MyDV.Count;
答案 5 :(得分:0)
我做了以下。
使用以下内容在 Gridview Databound 上创建了一个事件。每次绑定 gridview 时,这都会更新带有记录计数的标签。
protected void GridView1_DataBound(object sender, EventArgs e)
{
RecordCountLbl.Text = "Record Count: "+ GridView1.Rows.Count.ToString();
}