-1

問題が発生したため、「挿入して新規」ボタンと「挿入して閉じる」ボタンを含むフォームがあります。挿入および新規ボタンを使用すると、行を挿入し、フォームを再度開いて別の行を挿入できます。ただし、行を追加した後、挿入および閉じるボタンは閉じます。とにかく私の問題は次のとおりです。データベースから挿入、更新、または削除するためにコマンドフィールドを使用しています。

挿入ボタンと閉じるボタンは機能していますが、テーブルに行を追加できないため、挿入ボタンと新規ボタンは機能していません。コマンドフィールドに「挿入して新規」ボタンを追加できるかどうかを確認したいだけなので、それを使用できます(すでにすべてのボタン(削除、挿入、更新..)を使用していることを知っています)。

ありがとう 。

4

1 に答える 1

0

以下のコード スニペットを試してみてください。

ASPX

    <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" OnNeedDataSource="RadGrid1_NeedDataSource"
    OnItemCommand="RadGrid1_ItemCommand">
    <MasterTableView CommandItemDisplay="Top" EditMode="InPlace">
        <Columns>
            <telerik:GridBoundColumn DataField="ID" HeaderText="ID" UniqueName="ID">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="Name" HeaderText="Name" UniqueName="Name">
            </telerik:GridBoundColumn>
            <telerik:GridTemplateColumn>
                <InsertItemTemplate>
                    <asp:Button ID="Button1" runat="server" Text="insert and new" CommandName="insertandnew" />
                    <asp:Button ID="Button2" runat="server" Text="insert and close" CommandName="insertandclose" />
                </InsertItemTemplate>
            </telerik:GridTemplateColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>

ASPX.CS

protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    dynamic data = new[] {
        new { ID = 1, Name ="Name1"},
        new { ID = 2, Name = "Name2"},
        new { ID = 3, Name = "Name3"},
         new { ID = 4, Name = "Name4"},
        new { ID = 5, Name = "Name5"}
    };

    RadGrid1.DataSource = data;

}

protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
{
    if (e.CommandName == "insertandnew")
    {
        // Perform Your Insert operation
        e.Canceled = true;

        //Set insertmonde once again
        RadGrid1.MasterTableView.IsItemInserted = true;
        RadGrid1.Rebind();
    }
    else if (e.CommandName == "insertandclose")
    {
        // Perform Your Insert operation
        RadGrid1.MasterTableView.IsItemInserted = false;
        RadGrid1.Rebind();
    }

}
于 2013-07-05T12:52:37.447 に答える