- event statechange ก็ใช้ได้แฮะ เมื่อ row เปลี่ยน
- ในที่นี้ใช้ BindingSource ผูกกะ DataGridView เพราะ ทำ paging อ่ะนะ
- ถ้าเราใช้อาผูกเราก็ แปลง object ให้เป็น DataTable ให้ได้ หรืออาจจะใช้ DataView ช่วยก็น่าจะดี
private void dgvSearchResult_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
{
DataTable dtTemp = ((DataTable) bds.DataSource);
tsResult.Text = dtTemp.Rows.Count.ToString();
}
GridView ฝั่ง ASP.NET
bool firstTime = true;
System.Data.DataTable dt;
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
if (this.firstTime)
{
System.Data.DataView dv =
(e.Row.DataItem as System.Data.DataRowView).DataView;
this.dt = dv.ToTable();
this.Label1.Text = dt.Rows.Count.ToString();
this.firstTime = false;
}
}
Note
- ระวังเรื่อง paging ด้วย เพราะถ้าเรานับ row ใน gridview หรือ datagridview จะได้แค่ row ที่ปรากฏใน page นั้นซึ่งถ้า มีหลาย page ก็ไม่ใช่แล้วอ่ะดิ
No comments:
Post a Comment