Thursday, August 20, 2009

Count row inside datagridview or gridview

DataGridView application

  • 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 ก็ไม่ใช่แล้วอ่ะดิ
Reference:

No comments:

Post a Comment

Popular Posts