I created a RadGrid programmatically, and i use the following lines:
RadGrid2.NeedDataSource += new GridNeedDataSourceEventHandler(RadGrid2_NeedDataSource);
instead of --->
RadGrid2.DataSourceID = "SqlDataSource1";
i want to create a GridTableView like the above line
GridTableView tableViewOrders = new GridTableView(RadGrid2);
¿¿ what should be the declaration to replace ----> tableViewOrders.DataSourceID = "SqlDataSource2"; ???
i think somesthing like --->
tableViewOrders.NestedViewSettings.DataSourceID += new GridNestedViewSettings(RadGrid3_NeedDataSource);
but it is incorrect.
tableViewOrders.DataKeyNames =
new string[] { "idCodigos" };
GridRelationFields relationFields = new GridRelationFields();
relationFields.MasterKeyField =
"idCodigo";
relationFields.DetailKeyField =
"idCodigoSubGrupo";
tableViewOrders.ParentTableRelation.Add(relationFields);
RadGrid2.MasterTableView.DetailTables.Add(tableViewOrders);
protected
void RadGrid2_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
ConnectionStringSettings connectionString = ConfigurationManager.ConnectionStrings["NorthwindConnectionString"];
_connection =
DbProviderFactories.GetFactory(connectionString.ProviderName).CreateConnection();
_connection.ConnectionString = connectionString.ConnectionString;
IDataReader reader;
using (IDbCommand command = _connection.CreateCommand())
{
command.CommandText =
"SpName";
command.CommandType =
CommandType.StoredProcedure;
_connection.Open();
reader = command.ExecuteReader();
}
((
RadGrid)source).DataSource = reader;
}
protected void RadGrid2_DataBound(object sender, EventArgs e)
{
if (_connection.State == ConnectionState.Open)
{
_connection.Close();
}
}
thanks in advance
Cristian.-
Hi,
My requirement is to generate PDF while clicking on image button in the grid.In the same page I have one search button(btnSearch). I have implemented OnNeedDataSource event.While clicking on search button I want to rebind the radgrid but I am getting this error “ErrorDetails : System.ArgumentException: Cannot unregister UpdatePanel with ID 'upnlPdf' since it was not registered with the ScriptManager. This might occur if the UpdatePanel was removed from the control tree and later added again, which is not supported. Parameter name: updatePanel at System.Web.UI.PageRequestManager.UnregisterUpdatePanel(UpdatePanel updatePanel) at System.Web.UI.ScriptManager.System.Web.UI.IScriptManagerInternal.UnregisterUpdatePanel(UpdatePanel updatePanel) at System.Web.UI.UpdatePanel.OnUnload(EventArgs e) at System.Web.UI.Control.UnloadRecursive(Boolean dispose) at System.Web.UI.Control.UnloadRecursive(Boolean dispose) at System.Web.UI.Control.UnloadRecursive(Boolean dispose) at System.Web.UI.Control.UnloadRecursive(Boolean dispose) at System.Web.UI.Control.RemovedControl(Control control) at System.Web.UI.ControlCollection.RemoveAt(Int32 index) at System.Web.UI.ControlCollection.Clear() at System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) at System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) at System.Web.UI.WebControls.DataBoundControl.PerformSelect() at Telerik.Web.UI.GridTableView.PerformSelect() at System.Web.UI.WebControls.BaseDataBoundControl.DataBind() at Telerik.Web.UI.GridTableView.DataBind() at Telerik.Web.UI.RadGrid.DataBind() at Telerik.Web.UI.RadGrid.AutoDataBind(GridRebindReason rebindReason) at Telerik.Web.UI.RadGrid.Rebind() at btnSearch_Click(Object sender, EventArgs e)”.
In aspx Page
===================================================================
<%@ Page Language="C#" MasterPageFile="~/ATMaster.Master" AutoEventWireup="true">
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:UpdatePanel runat="server" ID="upnlSecurityDoc" UpdateMode="Conditional">
<ContentTemplate>
<telerik:RadGrid ID="RadGrid1" runat="server" Width="1050px" TabIndex="5" Height="350px"
AutoGenerateColumns="False" ForeColor="#333333" PageSize="10" AllowFilteringByColumn="false"
Skin="Outlook" AllowPaging="true" OnNeedDataSource=" RadGrid1_NeedDataSource"
BorderWidth="1px" BorderColor="#cccccc" OnItemCommand=" RadGrid1_ItemCommand"
>
<HeaderContextMenu EnableAutoScroll="True">
</HeaderContextMenu>
<GroupingSettings CaseSensitive="false" />
<MasterTableView PagerStyle-AlwaysVisible="true">
<CommandItemSettings ExportToPdfText="Export to Pdf" />
<Columns>
<telerik:GridTemplateColumn HeaderText="SlNo" AllowFiltering="false">
<HeaderStyle HorizontalAlign="Left" Font-Bold="true" Width="50px" />
<ItemStyle HorizontalAlign="Left" Width="50px"></ItemStyle>
<ItemTemplate>
<%# this.gvPendingOrder.CurrentPageIndex * this.gvPendingOrder.PageSize + Container.ItemIndex + 1%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="PDF">
<HeaderStyle Width="50px" />
<ItemStyle Width="50px" />
<ItemTemplate>
<asp:UpdatePanel runat="server" ID="upnlPdf">
<ContentTemplate>
<asp:ImageButton runat="server" ID="imgbtnPdf" AlternateText="Security Document Print"
CommandArgument='<%# Eval("OrderId") %>' ImageUrl="../Images/pdf_icon.gif" ImageAlign="Middle"
CommandName="Generate" ToolTip='<%# "Document" + Eval("OrderNo") + "." %>' />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="imgbtnPdf" /> </Triggers>
</asp:UpdatePanel>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<ClientSettings EnableRowHoverStyle="true">
<Scrolling AllowScroll="True" UseStaticHeaders="True" SaveScrollPosition="True">
</Scrolling>
</ClientSettings>
</telerik:RadGrid>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
In code behind
protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e)
{
try
{
if (e.CommandName == "Generate")
{
string strOrderId = string.Empty;
strOrderId = e.CommandArgument.ToString();
LocalReport localReport = new LocalReport();
localReport.ReportPath = Server.MapPath("~/Reports/report1.rdlc");
localReport.EnableHyperlinks = true;
localReport.EnableExternalImages = true;
DataSet dataset1 = new DataSet();
DataTable datatable1 =GetDetails(strOrderId);
datatable1.TableName = "Document";
dataset1.Tables.Add(datatable1.Copy());
ReportParameter[] @params = new ReportParameter[4];
localReport.SetParameters(@params);
//A method that returns a collection for our report Note: A report can have multiple data sources
localReport.DataSources.Add(new ReportDataSource("dataset", dataset1.Tables[0]));
string reportType = "pdf";
string mimeType = string.Empty;
string encoding = string.Empty;
string fileNameExtension = string.Empty;
string deviceInfo = "<DeviceInfo>" + " <OutputFormat>pdf</OutputFormat>" + "</DeviceInfo>";
Warning[] warnings = null;
string[] streams = null;
byte[] renderedBytes = null;
//Render the report
renderedBytes = localReport.Render(reportType, deviceInfo, out mimeType, out encoding, out fileNameExtension, out streams, out warnings);
//Clear the response stream and write the bytes to the outputstream
//Set content-disposition to "attachment" so that user is prompted to take an action on the file (open or save)
Response.Clear();
Response.ContentType = mimeType;
strOrderId = "Doc" + strOrderId;
Response.AddHeader("content-disposition", ("attachment; filename=" + strOrderId + ".pdf"));
Response.BinaryWrite(renderedBytes);
Response.End(); }
}
catch (Exception ex)
{
lblMessage.Text = objUtl.GetErrorMessage(ex, this);
lblMessage.Visible = true;
}
}
Can we customize the Add/Edit Appointments popup with some additional controls like listbox, fileupload etc.?
How to manage snooze and dismiss/dismiss All buttons of Reminder Popup?
Actual problem is, even if we have dismiss the reminder it will alert, so how to handle it.
Find the Attachment of Appointment Add/Edit Popup we requires - is it possible to create?.

<telerik:RadGrid ID="grdTicket" runat="server" AutoGenerateColumns="False" Width="946px" Font-Names="Verdana" Font-Size="X-Small" AllowSorting="True" AllowPaging="True" OnNeedDataSource="grdTicket_NeedDataSource" OnPreRender="grdTicket_PreRender" OnSelectedIndexChanged="grdTicket_SelectedIndexChanged" CellSpacing="0" GridLines="None"> <ClientSettings> <ClientEvents OnRowClick="handleRowClick" /> <Selecting AllowRowSelect="True" /> </ClientSettings> <MasterTableView Width="100%" NoDetailRecordsText="No Records To Display"> <Columns> <telerik:GridBoundColumn HeaderText="User ID" DataField="UserId" UniqueName="UserID"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn UniqueName="ReplyColumn" AllowFiltering="false"> <ItemTemplate> <img alt="reply" src="ico_reply_green.png" title="Reply"/> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView> <PagerStyle Mode="NextPrevNumericAndAdvanced" ShowPagerText="true" /></telerik:RadGrid><script type="text/javascript"> function getHeaderRow(sender) { var masterTable = sender.get_masterTableView(); return masterTable.HeaderRow == null ? sender.get_masterTableViewHeader().get_element() : masterTable.HeaderRow; } function handleRowClick(sender, args) { var masterTable = sender.get_masterTableView(); var cellIndex = args.get_domEvent().target.cellIndex; var cellText = args.get_domEvent().target.innerHTML; var colName = masterTable.getColumnUniqueNameByCellIndex(getHeaderRow(sender), cellIndex) alert("Unique name: " + colName + "\nText: " + cellText); } </script>protected void grdTicket_NeedDataSource(object source, GridNeedDataSourceEventArgs e){ DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add("UserId"); for (int i = 0; i < 15; i++) { DataRow dr = dt.NewRow(); dr["UserId"] = "XYZ" + i.ToString(); dt.Rows.Add(dr); } ds.Tables.Add(dt); grdTicket.DataSource = ds;}