[英]Write to Gridview Row when Linkbutton in Gridview clicked
我有一個Gridview
每行中都有一個關閉linkbutton
。 當用戶單擊“關閉” Button
,它將數據寫入該特定行。 我的數據已經寫入,但是當我單擊第三行的linkbutton
關閉”時,我將其寫入第一行。 我希望它寫入第三行。
<asp:GridView ID="gvMain" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None"
Width="688px" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
OnRowCommand="gvTransInfo_RowCommand">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:TemplateField HeaderText="Transaction Type" SortExpression="TransTypeDesc">
<EditItemTemplate>
<asp:DropDownList ID="DDLTrans" runat="server" DataSourceID="SqlDataSourceTrans"
DataTextField="TransTypeDesc" DataValueField="TransTypeId">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSourceTrans" runat="server" ConnectionString="<%$ ConnectionStrings:iQueueConnectionString %>"
SelectCommand="SELECT [TransTypeId], [TransTypeDesc] FROM [tblTransType]"></asp:SqlDataSource>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblTrans" runat="server" Text='<%# Bind("TransTypeDesc") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField DataField="Received" HeaderText="Received" SortExpression="Received">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="Complete" HeaderText="Complete" SortExpression="Complete">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="TransTime" HeaderText="Est. Transaction Time" SortExpression="TransTime">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="lbClose" runat="server" CausesValidation="False" CommandName="CloseClicked"
OnClick="CloseClick_Click">Close</asp:LinkButton>
<asp:LinkButton ID="lbEdit" runat="server" CausesValidation="False" CommandName="EditRow">Edit</asp:LinkButton>
<asp:LinkButton ID="lbDelete" runat="server" CausesValidation="False" CommandName="DeleteRow">Cancel</asp:LinkButton>
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton ID="lbUpdate" runat="server" CausesValidation="True" CommandName="UpdateRow"
Text="Update" CommandArgument='<%# Eval("TicketId")%>'></asp:LinkButton>
<asp:LinkButton ID="lbCancel" runat="server" CausesValidation="False" CommandName="CancelUpdate"
CommandArgument='<%# Eval("TicketId")%>' Text="Cancel"></asp:LinkButton>
</EditItemTemplate>
<FooterStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
protected void CloseClick_Click(object sender, EventArgs e)
{
var StartLink = (Control)sender;
GridViewRow row = (GridViewRow)StartLink.NamingContainer;
firstCellText = row.Cells[0].Text;
}
使用具有select
屬性的CommandField
而不是具有LinkButton
的TemplateField
而在YourGridView_SelectedIndexChanged handler
使用YourGridView.SelectedIndex
與您單擊的行工作。
然后您可以說:
firstCellText = row.Cells[YourGridView.SelectedIndex].Text;
解決了。 我只是做了一個查詢,並根據我的firstcellText值顯示了它,從而解決了該問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.