Wiem, że pytanie, które zamierzam zadać, jest już zadawane przez inne osoby, ale te odpowiedzi nie stanowią rozwiązania mojego problemu.Uzyskaj wartość z ukrytego ograniczenia? ASP.NET
mam gridview zawierający 2 BoundFields, 2 ButtonFields i pole (pola wyboru który TemplateField).
Mam również datatable, wypełnione danymi z bazy danych.
W kodzie aspx tworzę moje gridview z pól ustawić ostatni BoundField Visible = false
.
W moim kodzie źródłowym dodaję kolumny i wiążę źródło danych z moim datatable.
Ale kiedy próbuję odczytać dane z ukrytego pola, to pole jest puste. Problem polegający na tym, że nie mogę skorzystać z rozwiązań wspomnianych w podobnych pytaniach, polega na tym, że ludzie zakładają, że dane są wypełniane jeden po drugim, a nie wiążą dane z danymi źródłowymi gridview.
Moje pytanie brzmi: Czy jest to sposób na uzyskanie danych z ukrytego pola, a także możliwość dodania danych przez powiązanie datatable ze źródłem danych gridview? A jeśli tak, to czy można uzyskać wartość z tego pola?
p.s. Używam asp.net/c# w 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>
Code Behind (gdzie ja wypełnić 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();
}
Więc teraz muszę się dostać dane z widoku siatki (escpecialy z ukrytego pola), ponieważ mogą edytować widok siatki poza ukrytym obszarem, więc jest to jedyny sposób na sprawdzenie, który oryginalny wiersz był.
Pokaż nam swój kod. –
Kiedy i jak się czytasz? – V4Vendetta
** http: //stackoverflow.com/faq#howtoask** –