Hur hämta värde från en textbox som finns i footern i en datagrid?
Hej,
har problem med att hämta värde från en textbox i footern i en datagrid.
Har en Spara-knapp utanför datagriden som ska spara annan info på sidan samt värdet i textboxen i footern på datagriden.
Datagriden ser ut enligt följande:
<code>
<asp:datagrid id="dgBatchValues" runat="server" CssClass="dataGrid" width="100%" ShowFooter="true" AutoGenerateColumns="False" CellPadding="1">
<HeaderStyle CssClass="dataGridHeader"></HeaderStyle>
<Columns>
<asp:BoundColumn Visible="False" DataField="BatchValueId" ReadOnly="True"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="Fritext" FooterStyle-width="65%">
<ItemTemplate>
<asp:Label id="lblBatchValue" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.batchvalue") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:textbox id="txtBatchValue" runat="server" CssClass="textboxes" width="100%"></asp:textbox>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Ta bort" FooterStyle-width="10%">
<ItemTemplate>
<asp:LinkButton id="lnkBatchValueDelete" runat="server" Text="Ta bort" CommandName="Delete" EnableViewState="False" CausesValidation="False">
<img style="border:0" src="images/delete.gif" alt="delete"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle Mode="NumericPages"></PagerStyle>
</asp:datagrid>
</code>
Har försökt att använda följande kod för att hämta värdet i textboxen "txtBatchValue" som finns i footern:
<code>
'Index for footer is last index
Dim iFooterIndex As Integer
iFooterIndex = dgBatchValues.Controls(0).Controls.Count - 1
'Get textbox control
Dim txtBatchVal As TextBox = CType(dgBatchValues.Controls(0).Controls(iFooterIndex).FindControl("txtBatchValue"), TextBox)
'Get value from textbox
sBatchValue = txtBatchVal.Text
</code>
men iFooterIndex blir =-1, dvs dgBatchValues.Controls(0).Controls.count = 0...
Är det inte Controls man ska använda för att leta upp kontoller i footern? Någon som har något tips?
Mvh Siri
Svara
Sv: Hur hämta värde från textbox i footer i datagrid?
Däremot är dgBatchValues.Controls(0).count = 1... Är inte helt säker på hierarkin här!
När jag kollar i artikeln på http://www.odetocode.com/Articles/116.aspx under "Finding Controls in Headers and Footers" uppfattar jag att datagriden är uppbyggd enligt datagrid=>datagridtable=>datagriditem=>tablecell=>textbox. Kanske inte min datagrid har denna hierarki?
Mvh Siri
Svara