Diskuze: template item v grid view

C# .NET .NET (C# a Visual Basic) template item v grid view American English version English version

Avatar
tomas
Člen
Avatar
tomas:

Ahoj všem, mám aplikaci WF v asp c#. V aspx mám definovaný následující gridview

<asp:GridView ID="GrdDeviceReturn" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" AutoGenerateColumns="false" OnRowUpdating="GrdDeviceReturn_RowUpdating" OnRowEditing="GrdDeviceReturn_RowEditing">
                <Columns>
                    <asp:BoundField DataField="ID" HeaderText="ID" Visible="false" />
                    <asp:BoundField DataField="device_id" HeaderText="DeviceID" Visible="False" />
                    <asp:BoundField DataField="name" HeaderText="Název" ReadOnly="true" />
                    <asp:BoundField DataField="date_handover" DataFormatString=" {0:d}" HeaderText="Datum předání" ReadOnly="true" />
                    <asp:BoundField DataField="state_handover" HeaderText="Stav předání" ReadOnly="true" />
                    <asp:BoundField DataField="date_return" DataFormatString=" {0:d}" HeaderText="Datum vrácení" Visible="false" />
                    <asp:BoundField DataField="state_return" HeaderText="Stav vrácení" InsertVisible="true" Visible="false" />
                    <asp:BoundField DataField="protocol_number" HeaderText="protocol" Visible="false"/>
                    <asp:BoundField DataField="transfer" HeaderText="transfer" Visible="false"/>
                     <asp:TemplateField HeaderText="State Return">
                        <ItemTemplate>
                            <asp:TextBox ID="StateReturn" runat="server" OnTextChanged="StateReturn_TextChanged" AutoPostBack="true"></asp:TextBox>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>

Jde me o ten itemtemplate, po yměně spustí StateRerurn_Tex­tChanged, kde jsem schopný přečíst hodnotu TextBoxu, ale jak přečtu index řádku z kterého to pole je? To se mě nedaří.

protected void StateReturn_TextChanged(object sender, EventArgs e)
{
    // logicky nic nevrátí, protoze řádek není označený.
    int index = GrdDeviceReturn.SelectedIndex;
}
Editováno 17.9.2014 15:00
 
Odpovědět 17.9.2014 14:59
Avatar
tomas
Člen
Avatar
tomas:

Tak už jsem na to přišel, srýček google poradil. Ale teda trvalo mě než jsem položil správně otázku. řešení je následující

protected void StateReturn_TextChanged(object sender, EventArgs e)
{
    TextBox thisTextBox = (TextBox)sender;
    GridViewRow currentRow = (GridViewRow)thisTextBox.Parent.Parent;

}
Editováno 17.9.2014 15:15
 
Nahoru Odpovědět 17.9.2014 15:15
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.