<telerik:GridButtonColumn ButtonType=ImageButton ImageUrl="images/Img_Del.gif"></telerik:GridButtonColumn> I want to tie the button click to a javascript function. Is this possible?
I want to do an AJAX call from this function to perform the delete operation and refresh the grid.
Appreciate a reply.
thanks
<
telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RadGrid1_NeedDataSource"
Height="100px" Width="600px" >
<MasterTableView AutoGenerateColumns="false" >
<Columns>
<telerik:GridBoundColumn DataField="ContactName" DataType="System.String"
HeaderText="Contact Name" ReadOnly="True"
>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Title" DataType="System.String"
HeaderText="Title" ReadOnly="True"
>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Email" DataType="System.String"
HeaderText="Email" ReadOnly="True"
>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Phone" DataType="System.String"
HeaderText="Phone" ReadOnly="True"
>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Fax" DataType="System.String"
HeaderText="Fax" ReadOnly="True"
>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="ContactType" DataType="System.String"
HeaderText="Contact Type" ReadOnly="True"
>
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<ClientSettings>
<Scrolling AllowScroll="True" UseStaticHeaders="True" />
</ClientSettings>
</telerik:RadGrid>
</td>
</tr>
</table>
protected void btnRecord_Click(object sender, EventArgs e)
{
RadGrid1.DataSource =
null;
RadGrid1.Rebind();
}
protected
void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
Contact curContact = new Contact();
curContact.ContactName = TextBox1.Text;
curContact.Title = TextBox2.Text;
curContact.Email = TextBox3.Text;
curContact.Phone = TextBox4.Text;
curContact.Fax = TextBox5.Text;
if (Session["ContactType"] != null)
{
curContact.ContactType = Session[
"ContactType"].ToString();
}
DataTable dt = new DataTable();
dt.Columns.Add(
"ContactName");
dt.Columns.Add(
"Title");
dt.Columns.Add(
"Email");
dt.Columns.Add(
"Phone");
dt.Columns.Add(
"Fax");
dt.Columns.Add(
"ContactType");
dt.Rows.Add(curContact.ContactName, curContact.Title, curContact.Email, curContact.Phone, curContact.Fax,
curContact.ContactType);
RadGrid1.DataSource = dt;
}
RadAjaxManager RadAjaxManagerMaster = new RadAjaxManager();
RadAjaxManagerMaster.ID = "RadAjaxManagerMaster";
AjaxSetting RadAjaxManagerMasterAjaxSettings = new AjaxSetting();
RadAjaxManagerMasterAjaxSettings.AjaxControlID = "RadContextMenuMaster"; AjaxUpdatedControl RadWindowAjaxControl = new AjaxUpdatedControl(); RadWindowAjaxControl.ControlID = "RadWindowMaster"; AjaxUpdatedControl RadContextMenuAjaxControl = new AjaxUpdatedControl(); RadContextMenuAjaxControl.ControlID = "RadContextMenuMaster"; RadAjaxManagerMasterAjaxSettings.UpdatedControls.Add(RadWindowAjaxControl); RadAjaxManagerMasterAjaxSettings.UpdatedControls.Add(RadContextMenuAjaxControl); RadAjaxManagerMaster.AjaxSettings.Add(RadAjaxManagerMasterAjaxSettings); RadAjaxLoadingPanel RadAjaxLoadingPanelMaster = new RadAjaxLoadingPanel(); RadAjaxLoadingPanelMaster.ID = "RadAjaxLoadingPanelMaster"; RadAjaxLoadingPanelMaster.BackgroundPosition = AjaxLoadingPanelBackgroundPosition.Center; PlaceHolder PlaceHolderCMSAdmin = (PlaceHolder)Shuware.ShuwareCommon.Web.FindControlByID(this.Controls, "PlaceHolderCMSAdmin"); if (PlaceHolderCMSAdmin != null) { PlaceHolderCMSAdmin.Controls.Add(RadAjaxManagerMaster); PlaceHolderCMSAdmin.Controls.Add(RadAjaxLoadingPanelMaster); }private void CreateAjaxSettings() { RadAjaxManagerProxy RadAjaxManagerProxy = (RadAjaxManagerProxy)Shuware.ShuwareCommon.Web.FindControlByID(this.Controls, "RadAjaxManagerProxy"); AjaxSetting RadAjaxManagerProxyAjaxSettings = new AjaxSetting(); RadAjaxManagerProxyAjaxSettings.AjaxControlID = "RadContextMenuMaster"; AjaxUpdatedControl divCMSContentAjaxControl = new AjaxUpdatedControl(); divCMSContentAjaxControl.ControlID = "divCMSContent"; divCMSContentAjaxControl.LoadingPanelID = "radAjaxLoadingPanel"; AjaxUpdatedControl RadPlaceholderAjaxControl = new AjaxUpdatedControl(); RadPlaceholderAjaxControl.ControlID = "PlaceHolderContentCMS"; AjaxUpdatedControl LabelDebugAjaxControl = new AjaxUpdatedControl(); LabelDebugAjaxControl.ControlID = "LabelDebug"; AjaxUpdatedControl RadWindowAjaxControl = new AjaxUpdatedControl(); RadWindowAjaxControl.ControlID = "RadWindowMaster"; AjaxUpdatedControl RadContextMenuAjaxControl = new AjaxUpdatedControl(); RadContextMenuAjaxControl.ControlID = "RadContextMenuCMS"; RadAjaxManagerProxyAjaxSettings.UpdatedControls.Add(divCMSContentAjaxControl); RadAjaxManagerProxyAjaxSettings.UpdatedControls.Add(RadPlaceholderAjaxControl); RadAjaxManagerProxyAjaxSettings.UpdatedControls.Add(LabelDebugAjaxControl); RadAjaxManagerProxyAjaxSettings.UpdatedControls.Add(RadWindowAjaxControl); RadAjaxManagerProxyAjaxSettings.UpdatedControls.Add(RadContextMenuAjaxControl); RadAjaxManagerProxy.AjaxSettings.Add(RadAjaxManagerProxyAjaxSettings); } RadAjaxManagerProxy RadAjaxManagerProxy = new RadAjaxManagerProxy(); RadAjaxManagerProxy.ID = "RadAjaxManagerProxy"; PlaceHolder PlaceHolderCMSAdmin = (PlaceHolder)Shuware.ShuwareCommon.Web.FindControlByID(this.Controls, "PlaceHolderCMSAdmin"); if (PlaceHolderCMSAdmin != null) { PlaceHolderCMSAdmin.Controls.Add(RadAjaxManagerProxy); }When I push the next page plik on a RadGrid the NeedDataSource event fires. How do I get the grid to handle paging without hitting the database each time?
<telerik:RadGrid ID="RadGrid1" runat="server" Width="100%" Height="100%" GridLines="None" AutoGenerateColumns="False" AllowSorting="True" AllowFilteringByColumn="True" SelectedItemStyle-BackColor="LightBlue" AllowPaging="True" onneeddatasource="RadGrid1_NeedDataSource" PageSize="100">