or
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"Hi,
I have a Self Referencing Hierarchy grid in which i have made rows editable on double click client event. Required grid properties for disabling multiple rows edit at the same time have been set as follows-
AllowMultiRowSelection="false" AllowMultiRowEdit="false"
Still I am able to select and Edit multiple rows at a time.
Client Settings are as follows-
<ClientSettings AllowExpandCollapse="true"> <ClientEvents OnRowDblClick="RowdblClick"/> <Selecting AllowRowSelect="True"/> </ClientSettings>
Javascript used-
<script language="javascript" type="text/javascript"> function RowdblClick(sender, eventArgs) { RowEdit(sender, eventArgs); } function RowEdit(sender, eventArgs) { //debugger; var editedRow = eventArgs.get_item(); editedRow.id= eventArgs.get_id(); $find("<%= RadGrid1.MasterTableView.ClientID %>").editItem(editedRow); } </script>