Sé que la pregunta que voy a hacer ya está solicitada por otras personas, pero esas respuestas no son la solución para mi problema.¿Obtiene el valor del boundfield oculto? ASP.NET
Tengo una vista de cuadrícula que contiene 2 campos delimitados, 2 campos ButtonFields y un campo de casilla de verificación (que es un campo TemplateField).
También tengo una tabla de datos, llena de datos de la base de datos.
En el código aspx creo mi gridview con los campos establecidos en el último BoundField Visible = false
.
En mi código subyacente, agrego las columnas y enlazo la fuente de datos a mi datatable.
Pero cuando intento leer los datos del campo delimitado oculto, ese campo está vacío. El problema por el que no puedo usar las soluciones mencionadas con preguntas similares es porque las personas suponen que los datos se completan uno por uno y no vinculando una tabla de datos al origen de datos de la vista de cuadrícula.
Así que mi pregunta es: ¿Es una manera de obtener los datos del campo cerrado oculto y también retienen la posibilidad de agregar los datos vinculando la tabla de datos a la fuente de datos de la vista de cuadrícula? Y si es así, ¿es posible obtener el valor de ese campo?
p.s. Estoy usando asp.net/c# en Visual Studio 2010
ASPX:
<asp:GridView ID="gvSelect" runat="server" AutoGenerateColumns="False" BorderStyle="None" onrowcommand="gvTestSelect_RowCommand">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox runat="server" ID="cbHeader" OnPreRender="cbHeader_PreRender" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox runat="server" ID="cbItems" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="field" HeaderText="Veld" SortExpression="field" />
<asp:ButtonField DataTextField="up" HeaderText="Omhoog" SortExpression="up" CommandName="up" Text="↑" />
<asp:ButtonField DataTextField="down" HeaderText="Omlaag" SortExpression="down" CommandName="down" Text="↓" />
<asp:BoundField DataField="hidden" SortExpression="hidden" />
</Columns>
</asp:GridView>
código subyacente (donde lleno el gridview):
//create array list and fill it with all columns
Dictionary<string, string> dict = FillLists.getColumnsByTable(loader, ddlInfoTableI.SelectedItem.Value.ToString());
//loop trough dictionary
foreach (var val in dict)
{
//create new dtSelect datarow
DataRow dr = dtSelect.NewRow();
//set row values for column values
dr["select"] = false;
dr["field"] = val.Value.ToString();
dr["up"] = new ButtonField { CommandName = "up", Text = loader.LoadResourceString(1024), HeaderText = "↑", ButtonType = ButtonType.Button, Visible = true };
dr["down"] = new ButtonField { CommandName = "down", Text = loader.LoadResourceString(1025), HeaderText = "↓", ButtonType = ButtonType.Button, Visible = true };
dr["hidden"] = val.Key.ToString();
//add the datarow
dtSelect.Rows.Add(dr);
//set datatable session to datatable
Session["dtSelect"] = dtSelect;
//set datasource of the gridview to datatable
gvSelect.DataSource = dtSelect;
//bind data to gridview
gvSelect.DataBind();
}
Así que ahora tengo que conseguir la datos de la vista de cuadrícula (escpecialy desde el campo delimitado oculto), porque pueden editar la vista de cuadrícula excepto el campo delimitado oculto, por lo que esa es la única forma de saber qué fila original era.
Muéstranos tu código. –
¿Cuándo y cómo estás leyendo? – V4Vendetta
** http: //stackoverflow.com/faq#howtoask** –