如何从网格视图模板字段获取标签控件值

本文关键字:获取 字段 标签 控件 网格 视图 | 更新日期: 2023-09-27 18:36:23

我有一个网格视图和sqldatasource。

有一个模板字段列,在编辑项目模板的文本框下方,我有一个简单的标签.

有什么方法可以在行更新事件中获取标签值?

我试过:String llbl = ((Label)row.Cells[6].FindControl("label1")).Text;嗯,我认为这不应该cells[6],因为我想获得标签.

谢谢

如何从网格视图模板字段获取标签控件值

我认为这就是您要查找的:

DataRow row = ((DataRowView)e.Row.DataItem).Row;
Label Mylabel = (Label)e.Row.FindControl("lblName");

编辑:

好的,试试这个:

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

可以使用 DataGridItemEventArgs 查找标签。以下是 UpdateCommand 的代码:

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

这在 RowEdit 中对我有用:

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

我相信这就是你想要的行更新:

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

试试这个它总是对我有用

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