在創建GridView控件時,必須先為GridView的每一行創建一個GridViewRow對象,創建每一行時,將引發一個 RowCreated事件;當行創建完畢,每一行GridViewRow就要綁定數據源中的數據,當綁定完成後,將引發RowDataBound事件。如果說我們可以利用RowCreated事件來控制每一行綁定的控件,那麼我們同樣可以利用RowDataBound事件來控制每一行綁定的數據,也就是讓數據如何呈現給大家。
還舉同樣的例子,在數據表中,存在性別列,上面我們用DropListDown控件的DataBounding來表示出了中文的性別,但是畢竟不太美觀,我們現在可以利用Label控件和RowDataBound事件來實現完美的中文性別顯示。RowDataBound,
首先,還是把性別列,設置為模板列,並添加一個Label控件,將Label控件綁定到數據源的性別段,然後我們在GridView控件屬性的事件列表中雙擊RowDataBound,生成如下事件:
Example:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//判斷當前行是否是數據行
if (e.Row.RowType == DataControlRowType.DataRow)
{ //用FindControl方法找到模板中的Label控件
Label lb1= (Label)e.Row.FindControl("Label1");
//因為RowDataBound是發生在數據綁定之後,所以我們可以
//判斷Label綁定的數據,如果是True,就更改其text屬性為男
if (lb1.Text== "True")
lb1.Text = "男";
else
lb1.Text = "female";
}
}
- Jan 21 Wed 2009 08:49
(轉載) C# RowDataBound事件
全站熱搜
留言列表