2012-06-05 31 views
1

我有一個gridview和sqldatasource。如何從gridview templatefield獲得標籤控制值

我有一個templatefield列和低於編輯項目模板的文本框我有一個簡單的標籤。

在ROW UPDATING事件中有沒有獲取標籤值的方法?

我試過了:String llbl = ((Label)row.Cells[6].FindControl("label1")).Text; 嗯我認爲它不應該是cells[6],因爲我想獲得標籤。

感謝

回答

3

我認爲這是你在找什麼:

DataRow row = ((DataRowView)e.Row.DataItem).Row; 

Label Mylabel = (Label)e.Row.FindControl("lblName"); 

編輯:

OK,試試這個,然後:

GridViewRow row = MyGrid.Rows[e.RowIndex]; 
Label MyLabel = (Label)row.FindControl("MyLabel"); 
+0

aw我的壞,對不起,我的意思是行更新不行編輯,我很抱歉。所以我無法訪問e.Row更新 – Jax

+0

請參閱我的答案上的編輯。 – Limey

0

您可以使用DataGridItemEventArgs來找到標籤。下面是更新命令代碼:

private void grid_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) 
    { 
      Label label1 = (Label) e.Item.FindControl("label1"); 
    } 
0

這RowEditing工作對我來說:

Label label1 = (Label)GridViewID.Rows[e.NewEditIndex].FindControl("label1"); 
string label1val = label1.Text; 

我相信這是你想要的RowUpdating:

Label label1 = (Label)GridViewID.Rows[e.RowIndex].FindControl("label1"); 
string label1val = label1.Text; 
0

試試這個 它總是適用於我

string lbl =((Label)gvEmployee.Rows[rowNo].Cells[0].FindControl("lblEmpid")).Text;