3

我有一个问题,其中一个简单的基础知识,但只是不知道它的行为。我使用 VS 2010 在 asp.net 页面上显示了一个简单的 GridView。页面加载正常,我可以看到 Grid,但是当我尝试单击它时,没有任何反应。这就像点击一个空白区域。只是试图将任何行数据发送到文本框。

供参考:

1) GridView 是从 DataAdapter 和它自己的 DataSet 中填写的。

2) OnSelectedIndexChanged 事件已设置。

3)每个字段都绑定到数据库中的特定字段。

网格视图代码:

<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;
}
4

1 回答 1

1

您需要在 aspx 文件中添加此属性

AutoGenerateSelectButton="True"

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

或者你可以使用

<asp:ButtonField DataTextField="code" />

然后为该字段定义 onclick 函数以执行您想要的操作

于 2013-09-24T17:12:44.477 回答