0

以下は私のマークアップコードです:

<asp:Table ID="tbldata"  runat="server" BorderWidth="2">
<asp:TableHeaderRow ID="tableheaderrow1" runat="server">
<asp:TableHeaderCell Width="80" runat="server">SNO</asp:TableHeaderCell>
<asp:TableHeaderCell Width="200" runat="server">Particulars</asp:TableHeaderCell>
<asp:TableHeaderCell Width="80" runat="server">Amount</asp:TableHeaderCell>
<asp:TableHeaderCell Width="120" runat="server">Tax</asp:TableHeaderCell>
<asp:TableHeaderCell Width="300" runat="server">OtherExpenditures</asp:TableHeaderCell>
<asp:TableHeaderCell Width="80" runat="server">NetAmount</asp:TableHeaderCell>
</asp:TableHeaderRow>
</asp:Table>

以下は私のCSコードです

protected void txtCalendar_TextChanged(object sender, EventArgs e)
{
    TextBox t = new TextBox();
    TableRow rowNew = new TableRow(); // Creating a new table row
    for (int i = 0; i < 6; i++)
    {
        TableCell tcell = new TableCell();
        tcell.Controls.Add(t);         // add the textbox control at cell zero
        // or you can add it as
        rowNew.Controls.Add(tcell);
    }
    tbldata.Controls.Add(rowNew);
}

ユーザーがそこにデータを入力できるように、テーブル行のすべてのセルにテキストボックスを追加したいのですが、上記のコードでは、テキストボックスは最後のセルにのみ追加されます。すべてのセルにテキストボックスを追加するにはどうすればよいですか? 上記のマークアップで示されているように、5 つのヘッダー列があります。すべての列にテキストボックスを追加したいのですが、どうすればよいですか? また、クリックするとユーザーが行を追加できる Add Row という名前のボタンを含めたいと思います。どうすればこれを行うことができますか?

4

1 に答える 1

-1

これは、簡単に満足できる要件ではありません。

幸いなことに、Matt Dotson は何年も前にBulkEditGridViewを作成しました。

このカスタム コントロールの最新のコードは、codeplex からダウンロードできます。

于 2013-03-21T08:33:03.727 に答える