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