我正嘗試使用ItemCommand
事件在RadGrid中插入新項目。但在此之後無法關閉編輯表單。無法關閉Telerik RadGrid中的編輯窗體
這裏是我的aspx-
<telerik:RadGrid ID="rgItems" Skin="Metro" runat="server" AutoGenerateColumns="false" Width="100%"
AllowAutomaticInserts="true"
MasterTableView-CommandItemSettings-ShowRefreshButton="false"
OnNeedDataSource="rgItems_NeedDataSource" OnItemCommand="rgItems_ItemCommand">
<MasterTableView CommandItemDisplay="Top" AllowAutomaticInserts="true" CommandItemSettings-ShowAddNewRecordButton="true">
<EditFormSettings EditFormType="Template">
<FormTemplate>
<asp:Panel ID="pnlNewItem" runat="server" DefaultButton="btnInsert">
<div class="form-group">
<asp:TextBox ID="txtClass" runat="server" CssClass="form-control" placeholder="Enter Class" Text='<%# Eval("Class") %>'></asp:TextBox>
</div>
<div class="form-group">
<asp:TextBox ID="txtWeight" runat="server" CssClass="form-control" placeholder="Enter Weight" Text='<%# Eval("Weight") %>'></asp:TextBox>
</div>
<div class="box-footer">
<asp:Button ID="btnCancel" runat="server" Text="Cancel" class="btn btn-default" CommandName="Cancel" />
<asp:Button ID="btnInsert" runat="server" class="btn btn-info pull-right"
CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'
Text='<%# (Container is GridEditFormInsertItem) ? "Add Item" : "Update" %>' />
</div>
</asp:Panel>
</FormTemplate>
</EditFormSettings>
<Columns>
<telerik:GridTemplateColumn HeaderText="Class">
<ItemTemplate>
<asp:Label ID="lblClass" runat="server" placeholder="Enter Class" Text='<%# Eval("Class") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Weight">
<ItemTemplate>
<asp:Label ID="lblWeight" runat="server" placeholder="Enter Weight" Text='<%# Eval("Weight") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
下面的代碼是在ItemCommand
事件 -
protected void rgItems_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
{
DataTable dtItems_Global = new DataTable();
dtItems_Global.Columns.Add(new DataColumn("Class", typeof(string)));
dtItems_Global.Columns.Add(new DataColumn("Weight", typeof(string)));
if (rgItems.Items.Count > 0)
{
foreach (GridDataItem gdi in rgItems.Items)
{
DataRow drItem = dtItems_Global.NewRow();
drItem["Class"] = (gdi.FindControl("lblClass") as Label).Text;
drItem["Weight"] = (gdi.FindControl("lblWeight") as Label).Text;
dtItems_Global.Rows.Add(drItem);
}
}
switch (e.CommandName)
{
case "PerformInsert":
TextBox txtItemClass = (e.Item.FindControl("txtClass") as TextBox);
TextBox txtItemWeight = (e.Item.FindControl("txtWeight") as TextBox);
DataRow drItem = dtItems_Global.NewRow();
drItem["Class"] = txtItemClass.Text;
drItem["Weight"] = txtItemWeight.Text;
dtItems_Global.Rows.Add(drItem);
rgItems.Rebind();
break;
}
}
我現在加了。它顯示了我在網格中的編輯列,但我仍然面臨問題。編輯表單不關閉。 – kamalpreet
我剛添加了一些代碼隱藏代碼。確保將它添加到你的'ItemCommand'事件中。 – Sunil
仍然沒有運氣! – kamalpreet