我知道还有其他一些类似的问题,但我无法根据他们的答案弄清楚。
我正在使用网格视图构建邮件收件箱页面。目前,网格视图向用户显示其邮件,其列标题为:"发送自"、"主题"和"日期"。我希望使行可单击(并在单击时突出显示),并将消息显示在网格视图框旁边的文本框中。我希望该行可单击,但每行的一侧没有"选择"按钮。
任何这方面的帮助将不胜感激。我不确定我是否需要更改网格视图框的属性或制作一种全新的方法。
谢谢
首先,在 GridView 上添加一个按钮命令,如下所示:
<asp:ButtonField Text="View" CommandName="ViewMe" ButtonType="Button" />
然后,在函数后面的GridView
和代码上添加 OnRowCommand="RowCommand"
属性:
protected void RowCommand(object sender, GridViewCommandEventArgs e)
{
// if the ViewMe command is fired
if (e.CommandName == "ViewMe")
{
// go to find the index on the grid view
int iTheIndexNow;
if (int.TryParse(e.CommandArgument.ToString(), out iTheIndexNow))
{
// Set and highlight the selected
gvGridViewID.SelectedIndex = iTheIndexNow;
// get the table data id
if (gvGridViewID.SelectedValue != null)
{
// now load the text where gvGridViewID.SelectedValue is
// the line id. This function load the text
// into a TextBox or other control
LoadText(gvGridViewID.SelectedValue.ToString());
}
}
}
}
在此函数上,您设置了选定的行,并获得了您在DataKeyNames
上设置的 SelectedValue,通常是表中的 ID。拥有此 ID,您可以显示消息的额外文本。