RadChart chart = (RadChart)item["CHART_COLUMN"].FindControl("RadChart1");
SetChart(chart, item);
MemoryStream imageStream = new MemoryStream();
chart.Save(imageStream, ImageFormat.Jpeg);
Byte[] imageContent = new Byte[imageStream.Length];
imageStream.Position = 0;
Response.ContentType = "image/gif";
imageStream.Read(imageContent, 0, (Int32)imageStream.Length);
imageStream.Close();
RadBinaryImage rbi = (RadBinaryImage)item["chartimage"].FindControl("RadBinaryImage1");
if (rbi != null)
{
rbi.DataValue = (Byte[])imageContent;
// rbi.DataBind();
}
.field{ float: left; padding: 5px 30px 5px 0px; height: 35px;}.field h5{ font-size: .9em; font-weight: bold; padding: 0; margin: 0;}<%@ Page Language="VB" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><script runat="server"></script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" Runat="server"> <Scripts> <asp:ScriptReference Path="Scripts/jquery-1.4.1.js" /> </Scripts> </telerik:RadScriptManager> <telerik:RadAjaxPanel ID="orderSelectionRadAjaxPanel" runat="server" CssClass="ScreenWidth"> <div style="width: 100%; margin: 0px; padding-top: 20px;"> <div class="field"> <h5>Top 200 Orders:</h5> RadComboBox </div> <div class="field"> <h5>Start Date:</h5> <telerik:RadDatePicker ID="startRadDatePicker" runat="server" AutoPostBack="True" > <Calendar ID="Calendar1" runat="server" UseRowHeadersAsSelectors="False" UseColumnHeadersAsSelectors="False" ViewSelectorText="x"></Calendar> <DateInput ID="DateInput1" runat="server" DisplayDateFormat="M/d/yyyy" DateFormat="M/d/yyyy" AutoPostBack="True"></DateInput> <DatePopupButton ImageUrl="" HoverImageUrl=""></DatePopupButton> </telerik:RadDatePicker> <asp:RequiredFieldValidator ID="startValidator1" runat="server" ControlToValidate="startRadDatePicker" ValidationGroup="selectionValidationGroup" ErrorMessage="'Start Date' is required" Text="*" /> </div> <div class="field"> <h5>End Date:</h5> <telerik:RadDatePicker ID="endRadDatePicker" runat="server" AutoPostBack="True" > <Calendar ID="Calendar2" runat="server" UseRowHeadersAsSelectors="False" UseColumnHeadersAsSelectors="False" ViewSelectorText="x"></Calendar> <DateInput ID="DateInput2" runat="server" DisplayDateFormat="M/d/yyyy" DateFormat="M/d/yyyy" AutoPostBack="True"></DateInput> <DatePopupButton ImageUrl="" HoverImageUrl=""></DatePopupButton> </telerik:RadDatePicker> <asp:RequiredFieldValidator ID="endValidator1" runat="server" ControlToValidate="endRadDatePicker" ValidationGroup="selectionValidationGroup" ErrorMessage="'End Date' is required" Text="*" /> </div> <div class="field"> <h5>Customers:</h5> RadComboBox </div> </div> </telerik:RadAjaxPanel> </form></body></html>protected void MyGrid_OnNeedDataSource(object sender, GridNeedDataSourceEventArgs e) { using (var context = new MyContainer()) { var d = from data in context.ParentEntity.Include("ChildEntities") select new { data.ParentProperty, data.ChildEntity.FirstOrDefault().ChildProperty }; this.MyGrid.DataSource = d.ToList(); } }I am using GridImageColumn for displaying an icon if the value in a table column (HasRead) which is bound to the RadGrid Control is false.
Here is the aspx code..
<Telerik:RadGrid ID="TelerikThread" Width="97%" AllowSorting="True" PageSize="15" OnItemDataBound="TelerikThread_ItemDataBound" AllowPaging="True" AllowMultiRowSelection="True" runat="server" Gridlines="None"> <MasterTableView Width="100%" Summary="RadGrid table" AutoGenerateColumns="false" > <PagerStyle Mode="NextPrevAndNumeric" /> <Columns> <Telerik:GridImageColumn UniqueName="GridImageColumn" SortExpression="HasRead" HeaderText="Unread" DataImageUrlFields="HasRead"> </Telerik:GridImageColumn> protected void TelerikThread_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridDataItem) { GridDataItem item = (GridDataItem)e.Item; TableCell flag = (TableCell)item["HasRead"]; if (flag.Text == "false") { System.Web.UI.WebControls.Image img = (System.Web.UI.WebControls.Image)item["GridImageColumn"].Controls[0]; img.ImageUrl = "./web/Themes/default/images/post_status_new_ln.gif";//set image url } else { TableCell cell = (TableCell)item["GridImageColumn"]; cell.Text = " ";//clears image column } } } GridDataItem item = (GridDataItem)e.Item;
"Cannot cast e.item to GridDataItem"