2

不明な数または行と列のデータソースがあります。列を自動生成するように設定されているグリッドビューを使用しています。各セルの各アイテムをリンクボタンに変えて、処理のためにポストバックする必要があります。既知の行とセルにコントロールを動的に追加する方法は知っていますが、列名がわからない場合は困難になります。これらの結果を生成する方法について何か提案はありますか?

4

1 に答える 1

3

これを出発点として試してください:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        foreach (TableCell cell in e.Row.Cells)
        {
            HyperLink myLink = new HyperLink();
            myLink.NavigateUrl = "somewhere.aspx";
            if (cell.Controls.Count > 0)
            {
                while (cell.Controls.Count > 0)
                {
                    myLink.Controls.Add(cell.Controls[0]);
                }
            }
            else
            {
                myLink.Text = cell.Text;
            }
            cell.Controls.Add(myLink);
        }
    }
}

注:タグに従ってC#でソリューションを作成しましたが、最後のコメントはVBであることに気付きました。VB で再投稿する必要がある場合はお知らせください (その場合はタグを更新する必要があります)。

于 2012-05-07T19:15:04.603 に答える