我在GrdiView中有一个GridView和一个选择链接,当选择该项时,我希望它将内容读取到GridView下面的文本框中。我能想到的唯一方法是访问select链接的onClick函数的后台代码。问题是我不确定如何做到这一点。
更新的果酱方法:
C#代码
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
GridView1.SelectedIndex = e.NewSelectedIndex;
TextBox1.Text = GridView1.Rows[e.NewSelectedIndex].Cells[0].Text;
}
前码
<asp:GridView ID="GridView1" OnSelectedIndexChanging="GridView1_SelectedIndexChanging" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333"
GridLines="None">
更新我的方法:
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
int i = GridView1.SelectedIndex;
ds.Tables["Comments"].Rows[i]["Comment"] = TextBox1.Text;
}
也尝试了这个,但是我收到了一个错误 - &gt; System.IndexOutOfRangeException:位置-1处没有行。
感谢。
答案 0 :(得分:0)
您需要使用gridview
附加OnSelectedIndexChanged事件<asp:GridView OnSelectedIndexChanged="GridView1_SelectedIndexChanged" />
然后在代码后面你可以做:
void GridView1_SelectedIndexChanged(Object sender, EventArgs e)
{
GridViewRow row = CustomersGridView.SelectedRow;// you will get the selected row
someLabel.Text = row.Cells[0].Text;
}
答案 1 :(得分:0)
连接到selectedindexchanged事件后,您还需要设置一些数据键,以便从网格中检索值。请参阅示例here。
void CustomersGridView_SelectedIndexChanged(Object sender, EventArgs e)
{
// Determine the index of the selected row.
int index = CustomersGridView.SelectedIndex;
// Display the primary key value of the selected row.
Message.Text = "The primary key value of the selected row is " +
CustomersGridView.DataKeys[index].Value.ToString() + ".";
}
答案 2 :(得分:0)
最好使用网格视图的oORowCommand事件,并将命令参数和commandName传递给与属性值相同的事件。然后我认为它会起作用。