2

このような質問が他にもいくつかあることは知っていますが、彼らの回答に基づいてそれを理解することはできませんでした.

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());
            }    
        }
    }
}

この関数では、選択した行を設定しDataKeyNames、設定した SelectedValue (通常はテーブルの ID) を取得します。この ID があれば、メッセージの追加テキストを表示できます。

于 2012-07-03T23:18:09.323 に答える