2013-09-24 32 views
3

我有一個問題,這些簡單的基礎知識之一,但不知道它的行爲。我有一個簡單的GridView顯示在使用VS 2010的asp.net頁面上。頁面加載正常,我可以看到Grid,但是當我嘗試點擊它時,什麼也沒有發生。這就像點擊一個空的空間。試圖將任何行數據發送到TextBox。在asp.net中的GridView不接受點擊

供參考:

1)的GridView正在從一個DataAdapter和它自己的數據集填寫。

2)OnSelectedIndexChanged事件已設置。

3)每個字段都綁定到數據庫的特定字段。

GridView控件代碼:

<asp:GridView runat="server" Width="300px" Height="100px" ID="mstPx_grdCtrl" 
     AutoGenerateColumns="False" onselectedindexchanged="mstPx_grdCtrl_SelectedIndexChanged" > 
    <Columns> 
     <asp:BoundField DataField="codPx" HeaderText="Código" /> 
     <asp:BoundField DataField="nombre" HeaderText="NOMBRE" /> 
     <asp:BoundField DataField="apellido" HeaderText="APELLIDO" /> 
    </Columns> 
</asp:GridView> 

C#代碼背後:你可以看到兩個選項我都試過...

protected void mstPx_grdCtrl_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    txtId.Text = mstPx_grdCtrl.SelectedRow.Cells[0].Text; 
    txtId.Text = mstPx_grdCtrl.Rows[mstPx_grdCtrl.SelectedIndex].Cells[1].Text; 
} 
+0

你試過就行'txtId.Text = mstPx_grdCtrl.Rows [設置斷點什麼mstPx_grdCtrl.SelectedIndex] .Cells [1] .Text;'並確保它正在執行,它有這樣一個單元格? – NicoTek

回答

1

你需要在aspx文件添加該屬性

AutoGenerateSelectButton="True" 

看看這裏:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.onselectedindexchanged.aspx

或者你可以使用一個

<asp:ButtonField DataTextField="code" /> 

,然後定義的onclick功能,該字段做你想要的

+0

庫巴,感謝您的建議解決方案。仍然沒有從點擊行獲取信息。我之前嘗試過(AutoGenerateSelectButton =「True」),但我不認爲這個問題會是因爲這個。關於(ButtonField)由於某種原因,它不被視覺識別爲asp控件。那ButtonField是GridView ???外的控件,只是雙重檢查...問候 –

+0

我會試試看,會讓你知道謝謝 –