Pregunta

Yo soy el enlace de un GridView el uso de un origen de datos en asp.net y me gustaría tener algunos de los secretos BoundFields para que pueda acceder a esos valores en mi RowDataBound Función.Sin embargo, cuando me puse Visible="False" en estos BoundFields los valores no obtener establezca y siempre están en blanco en el RowDataBound función.

Es allí una manera de hacer esto?He visto algunas de las sugerencias de establecer el estilo en el BoundField a escondidas, pero este no me funciona tampoco.Idealmente, yo no quiero ni una columna creada en el gridview, solo quiero que estos valores se oculta para que pueda acceder a ellos.Gracias!

¿Fue útil?

Solución

Has probado a utilizar el DataItem a partir de la GridViewRowEventArgs pasa a su RowDataBound método?

Como:

protected void MyGridView_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
        DataRowView rowView = (DataRowView)e.Row.DataItem;
        // do something with rowView["myHiddenField"]
    }
}

Verificación de MSDN aquí.

Otros consejos

impar, ¿cómo lo estás haciendo?Sé que he hecho esto antes de usar:

<asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Eval("ColumnName")%>'/>

For this i will suggest you to use DataKey.

Pls refer this link http://www.codeproject.com/KB/grid/Data_presentation.aspx

eg:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"

DataKeyNames="emp_id,Code">

int EmployeeID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Values[0]);
  int DepartementID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Values[1]);

in DataRow bound:

((GridView)sender).DataKeys[e.Row.RowIndex].Value.ToString();

Geetha

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top