我在C#中构建一个asp.net页面。 我有一个GridView,当我点击它时,我想要单元格中的内容。问题是,当我点击时,什么都没发生。出了什么问题?
在我的aspx文件中:
<asp:GridView ID="GridView1" runat="server" Height="224px" Width="589px" IsItemClickEnabled="True" SelectionChanged="GridView1_SelectedIndexChanged" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"></asp:GridView>
在我的cs文件中:
protected void Page_Load(object sender, EventArgs e)
{
NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;Database=ssys;User Id=postgres;Password=postgres;"); //Skapar connectionobjektet
conn.Open();
NpgsqlCommand command = new NpgsqlCommand("SELECT * FROM times", conn);
NpgsqlDataReader dr = command.ExecuteReader();
GridView1.DataSource = dr;
GridView1.DataBind();
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
string item = (string)(GridView1.Rows[0].Cells[0]).Text;
MessageBox.Show(item);
}
答案 0 :(得分:2)
只需点击gridview中的行不会触发SelectedIndexChanged
事件。
来自MSDN:
单击行的“选择”按钮但在GridView控件处理选择操作后发生。
MSDN页面告诉您必须使用
autogenerateselectbutton="True"
生成选择按钮。这将触发SelectedIndexChanged
。