2013-07-05 44 views
-1

我遇到問題, 所以我有一個包含「插入和新建」和「插入和關閉」按鈕的窗體。 插入和新按鈕可讓您插入一行並重新打開表單以插入另一行。 ,但插入和關閉按鈕在添加一行後關閉。 反正我的問題如下: 我正在使用命令字段爲了插入,更新或從我的數據庫中刪除。insert new and insert close

插入和關閉按鈕正在工作 但插入和新按鈕不是因爲我無法在我的表中添加一行。 我只想看看我是否可以在我的命令字段中添加「插入和新建」按鈕,以便我可以使用它(知道我已經使用了所有按鈕(刪除,插入,更新..)。 。

+1

顯示一些代碼,即使它已損壞 – mnagel

回答

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

}