Hello everyone,
I have a telerik Grid and when I try to use insert, update or delete the events on in the code behind never fire. The popup does go away though and it looks like the grid is being updated. This is what I have for the code:
Does anyone have an Idea?
I have a telerik Grid and when I try to use insert, update or delete the events on in the code behind never fire. The popup does go away though and it looks like the grid is being updated. This is what I have for the code:
<
telerik:RadGrid
ID
=
"ClaimFormPartsGrid"
runat
=
"server"
GridLines
=
"None"
Skin
=
"Simple"
AutoGenerateColumns
=
"False"
AllowSorting
=
"False"
AllowMultiRowSelection
=
"False"
>
<
MasterTableView
EditMode
=
"PopUp"
CommandItemDisplay
=
"Top"
InsertItemDisplay
=
"Top"
CommandItemSettings-ShowRefreshButton
=
"False"
CommandItemSettings-ShowAddNewRecordButton
=
"True"
AutoGenerateColumns
=
"False"
EnableViewState
=
"True"
DataKeyNames
=
"key"
>
<
Columns
>
<
telerik:GridEditCommandColumn
UniqueName
=
"EditCommand"
/>
<
telerik:GridBoundColumn
UniqueName
=
"key"
DataField
=
"key"
HeaderText
=
"Name"
/>
<
telerik:GridBoundColumn
UniqueName
=
"value"
DataField
=
"value"
HeaderText
=
"Value"
/>
<
telerik:GridButtonColumn
UniqueName
=
"DeleteCommand"
Text
=
"Delete"
CommandName
=
"DeleteCommand"
/>
</
Columns
>
<
EditFormSettings
EditFormType
=
"Template"
InsertCaption
=
"Adding new Claim Form Part"
CaptionFormatString
=
"Editing Claim Form Part"
PopUpSettings-Modal
=
"True"
PopUpSettings-ScrollBars
=
"None"
>
<
FormTemplate
>
<
div
class
=
"rust-form"
>
<
fieldset
class
=
"no-bg"
>
<
legend
></
legend
>
<
ul
>
<
li
>
<
asp:Label
runat
=
"server"
ID
=
"keyNameLabel"
AssociatedControlID
=
"KeyNameTextBox"
>Name: </
asp:Label
>
<
asp:TextBox
runat
=
"server"
ID
=
"keyNameTextBox"
></
asp:TextBox
>
</
li
>
<
li
>
<
asp:Label
runat
=
"server"
ID
=
"keyValueLabel"
AssociatedControlID
=
"KeyValueTextBox"
>Value: </
asp:Label
>
<
asp:TextBox
runat
=
"server"
ID
=
"keyValueTextBox"
></
asp:TextBox
>
</
li
>
</
ul
>
</
fieldset
>
<
ul
class
=
"rust-action-btns"
>
<
li
>
<
asp:Button
ID
=
"InsertUpdateButton"
runat
=
"server"
Text
=
"Save"
CssClass
=
"rust-primary-btn"
TabIndex
=
"1"
CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "" %>' /> />
</
li
>
<
li
>
<
asp:Button
ID
=
"ClaimCancelButton"
runat
=
"server"
CausesValidation
=
"False"
Text
=
"Cancel"
CssClass
=
"rust-secondary-btn"
CommandName
=
"Cancel"
/>
</
li
>
</
ul
>
</
div
>
</
FormTemplate
>
</
EditFormSettings
>
</
MasterTableView
>
</
telerik:RadGrid
>
protected
override
void
OnInit(EventArgs e)
{
base
.OnInit(e);
this
.ClaimFormPartsGrid.NeedDataSource +=
this
.ClaimFormPartsGrid_NeedData;
this
.ClaimFormPartsGrid.ItemDataBound +=
this
.ClaimFormPartsGrid_ItemDataBound;
this
.ClaimFormPartsGrid.InsertCommand +=
this
.ClaimFormPartsGrid_InsertCommand;
this
.ClaimFormPartsGrid.UpdateCommand +=
this
.ClaimFormPartsGrid_UpdateCommand;
this
.ClaimFormPartsGrid.DeleteCommand +=
this
.ClaimFormPartsGrid_DeleteCommand;
}
protected
void
ClaimFormPartsGrid_NeedData(
object
sender, GridNeedDataSourceEventArgs e)
{
var source =
new
List<KeyValuePair<
string
,
string
>>();
source.Add(
new
KeyValuePair<
string
,
string
>(
"1"
,
"1"
));
source.Add(
new
KeyValuePair<
string
,
string
>(
"2"
,
"2"
));
source.Add(
new
KeyValuePair<
string
,
string
>(
"3"
,
"3"
));
source.Add(
new
KeyValuePair<
string
,
string
>(
"4"
,
"4"
));
this
.ClaimFormPartsGrid.DataSource = source;
}
protected
void
ClaimFormPartsGrid_ItemDataBound(
object
sender, GridItemEventArgs e)
{
if
(e.Item.IsInEditMode)
{
var gei = e.Item
as
GridEditableItem;
if
(gei ==
null
)
{
return
;
}
var nameTextbox = (TextBox)gei.FindControl(
"keyNameTextBox"
);
var valueTextbox = (TextBox) gei.FindControl(
"keyValueTextBox"
);
if
(gei.OwnerTableView.IsItemInserted)
{
// Inserting.
nameTextbox.Text =
string
.Empty;
valueTextbox.Text =
string
.Empty;
}
else
{
// Editing.
var keyValue= (KeyValuePair<
string
,
string
>) gei.DataItem;
nameTextbox.Text = keyValue.Key.ToString();
valueTextbox.Text = keyValue.Value.ToString();
}
}
else
{
// displaying
var gdi = e.Item
as
GridDataItem;
if
(gdi ==
null
)
{
return
;
}
var keyValue= (KeyValuePair<
string
,
string
>)gdi.DataItem;
var deleteButton = gdi[
"DeleteCommand"
].Controls[0]
as
LinkButton;
if
(deleteButton !=
null
)
{
deleteButton.Attributes[
"onclick"
] =
"return confirm('Are you sure you want to delete "
+ keyValue.Key +
"?')"
;
}
}
}
protected
void
ClaimFormPartsGrid_InsertCommand(
object
sender, GridCommandEventArgs e)
{
var gei = e.Item
as
GridEditableItem;
if
(gei ==
null
)
{
return
;
}
var nameTextbox = (TextBox)gei.FindControl(
"keyNameTextBox"
);
var valueTextbox = (TextBox)gei.FindControl(
"keyValueTextBox"
);
}
protected
void
ClaimFormPartsGrid_UpdateCommand(
object
sender, GridCommandEventArgs e)
{
var gei = e.Item
as
GridEditableItem;
if
(gei ==
null
)
{
return
;
}
var oldName = (KeyValuePair<
string
,
string
>)gei.DataItem;
var nameTextbox = (TextBox)gei.FindControl(
"keyNameTextBox"
);
var valueTextbox = (TextBox)gei.FindControl(
"keyValueTextBox"
);
}
protected
void
ClaimFormPartsGrid_DeleteCommand(
object
sender, GridCommandEventArgs e)
{
var gei = e.Item
as
GridEditableItem;
if
(gei ==
null
)
{
return
;
}
}
Does anyone have an Idea?