Cómo utilizar un oculto Boundfield en un GridView en ASP.NET?
-
12-11-2019 - |
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!
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"]
}
}
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