Hi.
I have a grid where i manually insert a record. When the grid is empty (after clearing the list with a button), the new record is not displaying in the grid after insert is done. But when the grid has records then the insert record is displaying. Hope some have any idea why this happen. The code i am using is:
protected void RadGrid1_InsertCommand(object source, GridCommandEventArgs e)
{
if (!(e.Item is GridEditFormInsertItem))
return;
var insertItem = (GridEditFormInsertItem)e.Item;
FcCustomerCard controller = GetController();
string message = controller.Save(insertItem, true);
if (!string.IsNullOrEmpty(message))
{
hasActionFailed = true;
DisplayMessage("Elementet kan ikke settes inn. Ã…rsak: " + message);
e.Canceled = true;
}
else
{
DisplayMessage("Insettingen var vellykket.");
}
}
protected void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
RadGrid1.DataSource = GetCardList();
}
protected void clrFilters_Click(object sender, EventArgs e)
{
foreach (GridColumn column in RadGrid1.MasterTableView.Columns)
{
column.CurrentFilterFunction = GridKnownFunction.NoFilter;
column.CurrentFilterValue = string.Empty;
}
SetFilterExpression();
RadGrid1.MasterTableView.Rebind();
}
private void SetFilterExpression()
{
RadGrid1.MasterTableView.FilterExpression = "([CardNumber] = " + value + ") ";
RadGrid1.EnableLinqExpressions = false;
RadGrid1.GroupingSettings.CaseSensitive = false;
GridColumn column = RadGrid1.MasterTableView.GetColumnSafe("CardNumber");
column.CurrentFilterFunction = GridKnownFunction.EqualTo;
RadGrid1.MasterTableView.Rebind();
}
I have a grid where i manually insert a record. When the grid is empty (after clearing the list with a button), the new record is not displaying in the grid after insert is done. But when the grid has records then the insert record is displaying. Hope some have any idea why this happen. The code i am using is:
<telerik:RadGrid ID="RadGrid1" runat="server" AllowFilteringByColumn="True" AllowPaging="True" AllowSorting="True" Culture="Norwegian, Bokmål (Norway)" GridLines="None" ShowStatusBar="True" ondatabound="RadGrid1_DataBound" oninsertcommand="RadGrid1_InsertCommand" onitemcommand="RadGrid1_ItemCommand" onitemdatabound="RadGrid1_ItemDataBound" onpageindexchanged="RadGrid1_PageIndexChanged" onneeddatasource="RadGrid1_NeedDataSource" ondeletecommand="RadGrid1_DeleteCommand" onprerender="RadGrid1_PreRender" onupdatecommand="RadGrid1_UpdateCommand" > <MasterTableView AutoGenerateColumns="False" CommandItemDisplay="Top" DataKeyNames="CardNumber" InsertItemPageIndexAction="ShowItemOnCurrentPage"> <CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings> <Columns> <telerik:GridBoundColumn FilterControlWidth="95%" DataField="InfoEasy_Customer.CustomerNumber" DataType="System.String" HeaderText="Kundenr." SortExpression="InfoEasy_Customer.CustomerNumber" UniqueName="CustomerNumber" AutoPostBackOnFilter="true" ShowFilterIcon="false"> <HeaderStyle Width="80px"></HeaderStyle><ItemStyle HorizontalAlign="Right" /></telerik:GridBoundColumn> <telerik:GridBoundColumn FilterControlWidth="95%" DataField="InfoEasy_Customer.Name" DataType="System.String" HeaderText="Kundenavn" SortExpression="InfoEasy_Customer.Name" UniqueName="CustomerName" ReadOnly="true" AutoPostBackOnFilter="true" ShowFilterIcon="false"> <HeaderStyle Width="160px"></HeaderStyle></telerik:GridBoundColumn> <telerik:GridBoundColumn FilterControlWidth="95%" DataField="CardNumber" DataType="System.String" HeaderText="Serienr." SortExpression="CardNumber" UniqueName="CardNumber" AutoPostBackOnFilter="true" ShowFilterIcon="false"> <HeaderStyle Width="80px"></HeaderStyle><ItemStyle HorizontalAlign="Right" /></telerik:GridBoundColumn> <telerik:GridBoundColumn FilterControlWidth="95%" DataField="CardStatus" DataType="System.Int32" HeaderText="Aktivt" SortExpression="CardStatus" UniqueName="CardStatus" DefaultInsertValue=""> <FilterTemplate> <telerik:RadComboBox ID="ImportedFilter" runat="server" OnClientSelectedIndexChanged="ImportedFilterSelectedIndexChanged" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("CardStatus").CurrentFilterValue %>' Width="40px"> <Items> <telerik:RadComboBoxItem Text="" Value="" /> <telerik:RadComboBoxItem Text="Ja" Value="1" /> <telerik:RadComboBoxItem Text="Nei" Value="0" /> </Items> </telerik:RadComboBox> <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> <script type="text/javascript"> function ImportedFilterSelectedIndexChanged(sender, args) { var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>"); var filterVal = args.get_item().get_value(); if (filterVal == "") { tableView.filter("CardStatus", filterVal, "NoFilter"); } else if (filterVal == "1") { tableView.filter("CardStatus", "1", "EqualTo"); } else if (filterVal == "0") { tableView.filter("CardStatus", "0", "EqualTo"); } } </script> </telerik:RadScriptBlock> </FilterTemplate> <HeaderStyle Width="55px"></HeaderStyle><ItemStyle HorizontalAlign="center"/></telerik:GridBoundColumn> <telerik:GridBoundColumn FilterControlWidth="95%" DataField="VehicleRegistrationNumber" HeaderText="Reg.nr." SortExpression="VehicleRegistrationNumber" UniqueName="VehicleRegistrationNumber" AutoPostBackOnFilter="true" ShowFilterIcon="false"> <HeaderStyle Width="90px"></HeaderStyle></telerik:GridBoundColumn> <telerik:GridBoundColumn FilterControlWidth="95%" DataField="CustomerCardGroup.Name" HeaderText="Kundens sortering" SortExpression="CustomerCardGroup.Name" UniqueName="GroupName" AutoPostBackOnFilter="true" ShowFilterIcon="false"> <HeaderStyle Width="130px"></HeaderStyle></telerik:GridBoundColumn> <telerik:GridDateTimeColumn FilterControlWidth="95%" DataField="IssuedDate" DataType="System.DateTime" HeaderText="Utlevert" SortExpression="IssuedDate" UniqueName="IssuedDate" AutoPostBackOnFilter="true" ShowFilterIcon="false"> <HeaderStyle Width="105px"></HeaderStyle></telerik:GridDateTimeColumn> <telerik:GridBoundColumn FilterControlWidth="95%" DataField="Comment" HeaderText="Kommentar" SortExpression="Comment" UniqueName="Comment" AutoPostBackOnFilter="true" ShowFilterIcon="false"> <HeaderStyle Width="130px"></HeaderStyle></telerik:GridBoundColumn> <telerik:GridTemplateColumn UniqueName="Selected" HeaderText="Velg" AllowFiltering="false" HeaderStyle-Width="40px" HeaderTooltip="Brukes for å huke av hvilken rad som skal gjelde ved felles handlinger"> <ItemTemplate> <asp:CheckBox ID="SelectedCheckBox" runat="server" Checked='<%#( (Container is GridDataInsertItem) ? false: Eval("IsSelected")) %>' ToolTip="Huke av ved felles handlinger"/> </ItemTemplate> <HeaderStyle HorizontalAlign="Center" /><ItemStyle HorizontalAlign="center"/></telerik:GridTemplateColumn> <telerik:GridEditCommandColumn CancelText="Avbryt" EditText="Endre" InsertText="Sett inn" UpdateText="Oppdater"><HeaderStyle Width="50px"></HeaderStyle><ItemStyle HorizontalAlign="Right" /></telerik:GridEditCommandColumn> <telerik:GridButtonColumn HeaderStyle-Width="40px" CommandName="Delete" Text="Slett" UniqueName="column1" ConfirmDialogType="RadWindow" ConfirmText="Er du sikker på at du vil slette elementet?" ConfirmTitle="Bekreft sletting"><HeaderStyle Width="40px"></HeaderStyle></telerik:GridButtonColumn> </Columns> <EditFormSettings EditFormType="Template"> <EditColumn UniqueName="EditCommandColumn1" ></EditColumn> <FormTemplate> <div style="padding:10px;"> <table> <tr> <td><asp:Label runat="server" ID="Label1" Text="Kundenr."></asp:Label></td> <td><telerik:RadNumericTextBox runat="server" ID="CustomerNumber" Width="70px"><NumberFormat DecimalDigits="0"/></telerik:RadNumericTextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator1" Text="*" ForeColor="Red" ControlToValidate="CustomerNumber" runat="server"/></td> <td><asp:Label runat="server" ID="Label3" Text="Serienr."></asp:Label></td> <td><telerik:RadNumericTextBox runat="server" ID="CardNumber" Text='<%# Bind("CardNumber") %>' Width="70px"><NumberFormat DecimalDigits="0"/></telerik:RadNumericTextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator2" Text="*" ForeColor="Red" ControlToValidate="CardNumber" runat="server"/></td> <td><asp:Label runat="server" ID="Label6" Text="Utlevert"></asp:Label></td> <td><telerik:RadDatePicker runat="server" ID="IssuedDate" Width="105px"></telerik:RadDatePicker><asp:RequiredFieldValidator ID="RequiredFieldValidator3" Text="*" ForeColor="Red" ControlToValidate="IssuedDate" runat="server"/></td> <td><asp:Label runat="server" ID="Label4" Text="Reg.nr." ToolTip="Max 15tegn"></asp:Label></td> <td><telerik:RadTextBox ID="RegNumber" runat="server" Width="130px" Text='<%# Bind("VehicleRegistrationNumber") %>' MaxLength="15"></telerik:RadTextBox></td> <td><asp:Label runat="server" ID="Label7" Text="Kommentar"></asp:Label></td> <td rowspan="2" valign="top"><telerik:RadTextBox ID="Comment" runat="server" Text='<%# Bind("Comment") %>' Height="47px" Width="250px" TextMode="MultiLine" MaxLength="255"></telerik:RadTextBox></td> </tr> <tr> <td colspan="2"></td> <td><asp:Label runat="server" ID="Label2" Text="Aktivt"></asp:Label></td> <td><telerik:RadComboBox runat="server" ID="RadComboBox1" Width="40px" DataValueField="CardStatus" SelectedValue='<%#Bind("CardStatus") %>' HighlightTemplatedItems="true"> <Items> <telerik:RadComboBoxItem Value="1" Text="Ja" runat="server" /> <telerik:RadComboBoxItem Value="0" Text="Nei" runat="server"/> </Items> </telerik:RadComboBox> </td> <td><asp:Label runat="server" ID="Label8" Text="Gyldig"></asp:Label></td> <td><telerik:RadDatePicker runat="server" ID="ValidToDate" Width="105px"></telerik:RadDatePicker><asp:RequiredFieldValidator ID="RequiredFieldValidator4" Text="*" ForeColor="Red" ControlToValidate="ValidToDate" runat="server"/></td> <td><asp:Label runat="server" ID="Label5" Text="Sortering"></asp:Label></td> <td><telerik:RadTextBox ID="GroupName" runat="server" Width="130px" MaxLength="255"></telerik:RadTextBox></td> <td colspan="2"></td> </tr> </table> <div id="Buttons" style="text-align:right;"> <asp:LinkButton ID="LbtnUpdate" Text='<%# (Container is GridEditFormInsertItem) ? "Sett inn" : "Oppdater" %>' runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>' TabIndex="40"></asp:LinkButton> <asp:LinkButton ID="LbtnCancel" Text="Avbryt" runat="server" CausesValidation="False" CommandName="Cancel" TabIndex="41"></asp:LinkButton> </div> </div> </FormTemplate> </EditFormSettings> <NoRecordsTemplate><div>Det er ingen elementer å vise</div></NoRecordsTemplate> </MasterTableView> <ClientSettings EnableRowHoverStyle="true"> <ClientEvents OnRowDblClick="RowDblClick" /> <Selecting AllowRowSelect="true"/> <Resizing AllowColumnResize="true"/> </ClientSettings> <SortingSettings EnableSkinSortStyles="False" SortedAscToolTip="Sortert stigende" SortedDescToolTip="Sortet synkende" SortToolTip="Klikk her for å sortere" /> </telerik:RadGrid>protected void RadGrid1_InsertCommand(object source, GridCommandEventArgs e)
{
if (!(e.Item is GridEditFormInsertItem))
return;
var insertItem = (GridEditFormInsertItem)e.Item;
FcCustomerCard controller = GetController();
string message = controller.Save(insertItem, true);
if (!string.IsNullOrEmpty(message))
{
hasActionFailed = true;
DisplayMessage("Elementet kan ikke settes inn. Ã…rsak: " + message);
e.Canceled = true;
}
else
{
DisplayMessage("Insettingen var vellykket.");
}
}
protected void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
RadGrid1.DataSource = GetCardList();
}
protected void clrFilters_Click(object sender, EventArgs e)
{
foreach (GridColumn column in RadGrid1.MasterTableView.Columns)
{
column.CurrentFilterFunction = GridKnownFunction.NoFilter;
column.CurrentFilterValue = string.Empty;
}
SetFilterExpression();
RadGrid1.MasterTableView.Rebind();
}
private void SetFilterExpression()
{
RadGrid1.MasterTableView.FilterExpression = "([CardNumber] = " + value + ") ";
RadGrid1.EnableLinqExpressions = false;
RadGrid1.GroupingSettings.CaseSensitive = false;
GridColumn column = RadGrid1.MasterTableView.GetColumnSafe("CardNumber");
column.CurrentFilterFunction = GridKnownFunction.EqualTo;
RadGrid1.MasterTableView.Rebind();
}