2

以下に示すように、テーブル ヘッダー行を動的に追加しています。正しくレンダリングされます。ここで、ボタン クリック イベントで、新しく追加されたヘッダー行の最初のセル値を読み取る必要があります。ヘッダー値を読み取るにはどうすればよいですか?

ヘッダー行を取らないため、 gvCustomers.Rowsは使用できません。

gvCustomers.HeaderRow.Cells[0].Textは使用できません。また、ヘッダー行が 2 行あるため

コード

protected void gvCustomers_RowCreated(object sender, GridViewRowEventArgs e)
{

    if (e.Row.RowType == DataControlRowType.Header)
    {
        GridViewRow newHeaderRow = new GridViewRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal);

        TableCell cell1 = new TableHeaderCell();
        cell1.ColumnSpan = 1; //e.Row.Cells.Count;
        cell1.Text = "Expected";

        TableCell cell2 = new TableCell();
        cell2.ColumnSpan = 2;
        cell2.Text = "One";

        TableCell cell3 = new TableCell();
        cell3.ColumnSpan = 2;
        cell3.Text = "Two";

        TableCell cell4 = new TableCell();
        cell4.ColumnSpan = 2;
        cell4.Text = "Three";

        newHeaderRow.Cells.Add(cell1);
        newHeaderRow.Cells.Add(cell2);
        newHeaderRow.Cells.Add(cell3);
        newHeaderRow.Cells.Add(cell4);

        ((GridView)sender).Controls[0].Controls.AddAt(0, newHeaderRow);
    }



}

protected void Btn_Click(object sender, EventArgs args)
{


}
4

1 に答える 1

1

私は次のアプローチを使用しています。改善の提案はありますか?

        int current = 0;
        int headerCount = grdTransactions.HeaderRow.Cells.Count;

        for (current = 0; current < headerCount; current++)
        {
            TableHeaderCell cell = new TableHeaderCell();
            cell.Text = grdTransactions.HeaderRow.Cells[current].Text;
            originalHeaderRow.Cells.Add(cell);
        }
于 2012-09-25T06:30:18.830 に答える