asp.net中GridView內部點選事件判斷是第幾行並獲取row資料
前臺:
<asp:GridView ID="grid" runat="server" class="com_table" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="部門名稱">
<ItemTemplate>
<asp:DropDownList ID="ddl_Dept" AutoPostBack="True" OnSelectedIndexChanged="ddl_Dept_SelectedIndexChanged" runat="server">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
後臺:
/// <summary>
/// 選擇部門
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddl_Dept_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList drd = sender as DropDownList;
GridView gv = drd.Parent.Parent.Parent.Parent as GridView;
int n = ((GridViewRow)drd.Parent.Parent).RowIndex; //獲取第多少行
var row = gv.Rows[n]; //獲取當前行的rowData
}