(這部分有修正,保留原來的方式,正確的方式請參考本篇最下方!!)
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
    '判斷資料列才做事情
    If e.Row.RowType = DataControlRowType.DataRow Then
        '取得LinkButton物件
        Dim lb As LinkButton = e.Row.Cells(0).FindControl("LinkButton1")
        '判斷有取得物件,才做是情
        If lb IsNot Nothing Then
            '取得LinkButton的ClientID
            Dim lbClientId As String = lb.ClientID
            '將底線【_】置換為【$】
            lbClientId = Replace(lbClientId, "_", "$")
            '設定要加上的JavaScript
            Dim tScript As String = ""
            tScript = "__doPostBack('" + lbClientId + "','')"
            '把JavaScript加在Row的【onclick】屬性裡面
            e.Row.Attributes.Add("onclick", tScript)
            '增加變換手指游標,以及背景顏色
            e.Row.Attributes.Add("onmouseover", "this.style.cursor='hand';this.style.backgroundColor='yellow';")
            e.Row.Attributes.Add("onmouseout", "this.style.cursor='';this.style.backgroundColor='';")
        End If
    End If
End Sub
讓【選擇】消失
運作看看,果然是可以了。不過,還有個問題,如果想要讓LinkButton那個【選擇】的字不見,怎麼做??這個當然不能把LinkButton刪除掉,因為我們主要還是透過LinkButton來達到這樣的效果,方式很簡單,讓LinkButton的【選擇】變成空白即可。
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Select"> </asp:LinkButton>
那麼如果連那個欄位(看起來空的TempleteField)也不要呢,也可以,首先要挑選其中一個欄位轉為TempleteField,例如我選擇EmployeeID,然後把剛剛的LinkButton剪下→貼上到EmployeeID裡面的ItemTemplete就可以囉
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
    DataKeyNames="EmployeeID" DataSourceID="SqlDataSource1"
    EmptyDataText="沒有資料錄可顯示。">
    <Columns>
        <asp:TemplateField HeaderText="EmployeeID" SortExpression="EmployeeID">
            <EditItemTemplate>
                <asp:Label ID="Label1" runat="server" Text='<%# Eval("EmployeeID") %>'></asp:Label>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="Label1" runat="server" Text='<%# Bind("EmployeeID") %>'></asp:Label>
                <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Select"> </asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="LastName" HeaderText="LastName"
            SortExpression="LastName" />
        <asp:BoundField DataField="FirstName" HeaderText="FirstName"
            SortExpression="FirstName" />
    </Columns>
</asp:GridView>
這樣的技巧,其實可以運用在很多地方,讓我們的程式可以設計的更靈活些。提供大家參考