首先在模板列中添加一個按鈕用來選中行,頁面有關代碼如下:
<asp:GridView ID="gdview" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None"
Height="176px" Width="380px" OnRowDataBound="gdview_RowDataBound" OnSelectedIndexChanging="gdview_SelectedIndexChanging">
<FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#E3EAEB" />
<PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#7C6F57" />
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<input id="btnLocation" type="button" value="定位到" onclick="Select()" style="height: 20px" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
指令碼代碼如下:
//取得gridview中擷取選中行指定列的值
function Select()
{
//擷取滑鼠點擊的元素
var e=event.srcElement;
//擷取元素所在的行的行號(表頭行號從0開始)。注意:parentElement只適用於IE瀏覽器,而parentNode則符合DOM標準。
//var rowIndex=e.parentElement.parentElement.rowIndex ;
var rowIndex=e.parentNode.parentNode.rowIndex ;
//擷取GridView控制項
var gdview=document.getElementById("<%=gdview.ClientID %>");
//分別擷取選定行指定列的值
var value=gdview.rows(rowIndex).cells(列號).innerText;
}