我知道还有其他一些类似的问题,但根据他们的回答我无法弄清楚。
我正在使用 gridview 构建一个消息收件箱页面。目前,gridview 向用户显示他们的消息,其列标题为:Sent from、Subject 和 Date。我希望使行可单击(并在单击时突出显示)并且消息显示在 gridview 框旁边的文本框中。我希望该行可单击,但每行侧面没有“选择”按钮。
对此的任何帮助将不胜感激。我不确定是否需要更改 gridview 框的属性或制作全新的方法。
谢谢
首先,您在 GridView 上添加一个按钮命令,如下所示:
<asp:ButtonField Text="View" CommandName="ViewMe" ButtonType="Button" />
然后在函数后面的代码上添加OnRowCommand="RowCommand"
属性:GridView
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());
}
}
}
}
在此函数上,您设置选定的行并获得您设置的 SelectedValue DataKeyNames
,通常是表中的 ID。拥有此 ID,您可以显示消息的额外文本。