Hi,
Here is an example:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="TableSeq"
DataSourceID="SqlDataSource1" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
<Columns>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandArgument='<%# Eval("TableSeq") %>'
CommandName="Select" Text="Select" oncommand="LinkButton1_Command"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="TableSeq" HeaderText="TableSeq" ReadOnly="True" SortExpression="TableSeq" />
<asp:BoundField DataField="Text" HeaderText="Text" SortExpression="Text" />
</Columns>
<SelectedRowStyle BackColor="#FF6666" />
</asp:GridView>
In this code, LinkButton1_Command will fire first and then GridView1_SelectedIndexChanged will fire. You can use e.CommandArgument, e.CommandName in the LinkButton1_Command.
Cheers.