2

我知道还有其他一些类似的问题,但根据他们的回答我无法弄清楚。

我正在使用 gridview 构建一个消息收件箱页面。目前,gridview 向用户显示他们的消息,其列标题为:Sent from、Subject 和 Date。我希望使行可单击(并在单击时突出显示)并且消息显示在 gridview 框旁边的文本框中。我希望该行可单击,但每行侧面没有“选择”按钮。

对此的任何帮助将不胜感激。我不确定是否需要更改 gridview 框的属性或制作全新的方法。

谢谢

4

1 回答 1

0

首先,您在 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,您可以显示消息的额外文本。

于 2012-07-03T23:18:09.323 回答