<%@ Page Title="" Language="C#" MasterPageFile="~/AppMasterPage.master" AutoEventWireup="true" CodeFile="Research.aspx.cs" Inherits="MoneyOrder_Research" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server"> <center> <table> <tr> <td style="color:Blue;font-size:large"><strong>Money Order Research</strong><br /></td> </tr> <tr> <td><asp:Label ID="errorLabel" runat="server" Font-Bold="True" Font-Size="Large" Font-Underline="True" ForeColor="#990000"></asp:Label><br /></td> </tr> </table> </center></asp:Content><asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> </telerik:RadScriptManager> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="moGrid"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="moGrid" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="WebBlue" /> <telerik:RadGrid ID="moGrid" runat="server" OnNeedDataSource="moGrid_NeedDataSource" ShowStatusBar="true" AllowFilteringByColumn="true" ShowFooter="true" AutoGenerateColumns="False" PageSize="15" AllowSorting="True" AllowPaging="True" GridLines="Vertical" ShowHeader="true" ShowGroupPanel="true" Skin="WebBlue" AlternatingItemStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" FilterItemStyle-HorizontalAlign="Center" GroupingSettings-CaseSensitive="false"> <ClientSettings AllowDragToGroup="True"> </ClientSettings> <MasterTableView DataKeyNames="ID,Location" HierarchyLoadMode="Client"> <DetailTables> <telerik:GridTableView Name="histTable" DataKeyNames="ID,Location,MOID,MOLoc" DataSourceID="histSource" AutoGenerateColumns="true"> <ParentTableRelation> <telerik:GridRelationFields DetailKeyField="MOID" MasterKeyField="ID" /> <telerik:GridRelationFields DetailKeyField="MOLoc" MasterKeyField="Location" /> </ParentTableRelation> </telerik:GridTableView> </DetailTables> <SortExpressions> <telerik:GridSortExpression FieldName="DateAdd" SortOrder="Descending" /> </SortExpressions> <Columns> <telerik:GridBoundColumn SortExpression="ID" HeaderText="ID" HeaderButtonType="TextButton" FilterDelay="8000" CurrentFilterFunction="EqualTo" Aggregate="Count" DataField="ID" UniqueName="MO_ID" AutoPostBackOnFilter="false" ShowFilterIcon="false" AllowFiltering="true"></telerik:GridBoundColumn> <telerik:GridTemplateColumn SortExpression="Location" HeaderText="Location" HeaderButtonType="TextButton" FilterDelay="8000" CurrentFilterFunction="EqualTo" DataField="Location" UniqueName="MO_Location" GroupByExpression="Location Group By Location" AutoPostBackOnFilter="false" ShowFilterIcon="false" AllowFiltering="true"> <ItemTemplate> <asp:Label ID="MOLocationLbl" runat="server" Text='<%# Eval("Location") %>'></asp:Label> </ItemTemplate> <FilterTemplate> <telerik:RadComboBox ID="locBox" runat="server" DataSourceID="locationSource" AppendDataBoundItems="true" Width="90px" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("MO_Location").CurrentFilterValue %>' OnClientSelectedIndexChanged="SelectedLocIndexChanged" > <Items> <telerik:RadComboBoxItem runat="server" Text="All Locations" Value="" /> </Items> </telerik:RadComboBox> <telerik:RadScriptBlock ID="locFilterScript" runat="server"> <script type="text/javascript"> function SelectedLocIndexChanged(sendrer, args) { var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>"); tableView.filter("MO_Location", args.get_item().get_value(), "EqualTo"); } </script> </telerik:RadScriptBlock> </FilterTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn SortExpression="ACROrder" HeaderText="Order #" HeaderButtonType="TextButton" FilterDelay="8000" CurrentFilterFunction="EqualTo" DataField="ACROrder" UniqueName="MO_ACROrder" AutoPostBackOnFilter="false" ShowFilterIcon="false" AllowFiltering="true"></telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="Amount" HeaderText="Amount" HeaderButtonType="TextButton" FilterDelay="8000" DataField="Amount" Aggregate="Sum" UniqueName="MO_Amount" AutoPostBackOnFilter="false" ShowFilterIcon="true" AllowFiltering="true" DataFormatString="{0:C}"></telerik:GridBoundColumn> <telerik:GridTemplateColumn SortExpression="Status" HeaderText="Status" GroupByExpression="Status Group By Status" HeaderButtonType="TextButton" FilterDelay="8000" CurrentFilterFunction="EqualTo" DataField="Status" UniqueName="MO_Status" AutoPostBackOnFilter="false" ShowFilterIcon="false" AllowFiltering="true"> <ItemTemplate> <asp:Label ID="MOStatusLabel" runat="server" Text='<%# Eval("StatusText") %>'></asp:Label> </ItemTemplate> <FilterTemplate> <telerik:RadComboBox ID="statusFilter" runat="server" DataSourceID="statusSource" DataTextField="Text" DataValueField="Value" Width="90px" AppendDataBoundItems="true" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("MO_Status").CurrentFilterValue %>' OnClientSelectedIndexChanged="SelectedStatusIndexChanged"> <Items> <telerik:RadComboBoxItem runat="server" Text="All Statuses" Value="" /> </Items> </telerik:RadComboBox> <telerik:RadScriptBlock ID="filterStatusScriptBlock" runat="server"> <script type="text/javascript"> function SelectedStatusIndexChanged(sender, args) { var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>"); tableView.filter("MO_Status", args.get_item().get_value(), "EqualTo"); } </script> </telerik:RadScriptBlock> </FilterTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn SortExpression="SuspActivityFlag" GroupByExpression="SuspActivityFlag Group By SuspActivityFlag" HeaderText="Suspicous" HeaderButtonType="TextButton" FilterDelay="8000" CurrentFilterFunction="EqualTo" DataField="SuspActivityFlag" UniqueName="MO_SuspActivityFlag" AutoPostBackOnFilter="false" ShowFilterIcon="false" AllowFiltering="false"> <ItemTemplate> <asp:LinkButton ID="MOSuspActlbl" runat="server" Text='<%# Eval("SuspActivityFlag").ToString() == "Y" ? "Yes" : "No" %>' ForeColor='<%# Eval("SuspActivityFlag").ToString() == "Y" ? System.Drawing.Color.Maroon : System.Drawing.Color.Black %>' URL='<%# Eval("suspLink") %>' OnClientClick="PopUp(this.URL);"></asp:LinkButton> <telerik:RadScriptBlock ID="popupScript" runat="server"> <script type="text/javascript"> function PopUp(URL) { if (URL != '') { day = new Date(); id = day.getTime(); window.open(URL, id, 'toolbar=1,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=850,height=700,left = 62,top = 15') } } </script> </telerik:RadScriptBlock> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn SortExpression="LogID" HeaderText="Log ID" GroupByExpression="LogID Group By LogID" HeaderButtonType="TextButton" FilterDelay="8000" CurrentFilterFunction="EqualTo" DataField="LogID" UniqueName="MO_LogID" AutoPostBackOnFilter="false" ShowFilterIcon="true" AllowFiltering="true"> <ItemTemplate> <asp:LinkButton ID="logLink" runat="server" Text='<%# Convert.ToInt32(Eval("LogID")) == -1 ? "N/A" : Eval("LogID") %>' URL='<%# Eval("LogLink") %>' OnClientClick="PopUp(this.URL);"></asp:LinkButton> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn SortExpression="UserName" HeaderText="User" HeaderButtonType="TextButton" FilterDelay="8000" CurrentFilterFunction="Contains" DataField="UserName" UniqueName="MO_UserName" AutoPostBackOnFilter="false" ShowFilterIcon="false" AllowFiltering="true"></telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="DateAdd" HeaderText="Date" HeaderButtonType="TextButton" FilterDelay="8000" DataField="DateAdd" UniqueName="MO_DateAdd" AutoPostBackOnFilter="false" ShowFilterIcon="true" AllowFiltering="true" DataFormatString="{0:MM/dd/yyyy hh:mm tt}"></telerik:GridBoundColumn> </Columns> </MasterTableView> </telerik:RadGrid> <asp:ObjectDataSource ID="statusSource" runat="server" SelectMethod="GetStatuses" TypeName="MO.Business.Defaults"> </asp:ObjectDataSource> <asp:ObjectDataSource ID="locationSource" runat="server" SelectMethod="GetLocations" TypeName="MO.Business.Defaults"> </asp:ObjectDataSource> <asp:ObjectDataSource ID="histSource" runat="server" SelectMethod="GetHistory" TypeName="MO.Business.Research"></asp:ObjectDataSource></asp:Content><asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder3" Runat="Server"></asp:Content>[EvaluateException: Cannot find column [MOID].] System.Data.NameNode.Bind(DataTable table, List`1 list) +1173813 System.Data.BinaryNode.Bind(DataTable table, List`1 list) +31 System.Data.UnaryNode.Bind(DataTable table, List`1 list) +29 System.Data.BinaryNode.Bind(DataTable table, List`1 list) +31 System.Data.UnaryNode.Bind(DataTable table, List`1 list) +29 System.Data.DataExpression.Bind(DataTable table) +59 System.Data.DataExpression..ctor(DataTable table, String expression, Type type) +4833511 System.Data.DataView.set_RowFilter(String value) +153 System.Data.LinqDataView.set_RowFilter(String value) +53 Telerik.Web.UI.GridEnumerableFromDataView.PerformTransformation() +405 Telerik.Web.UI.GridEnumerableFromDataView.TransformEnumerable() +21Hi,
I want to have range on data field in DataTable in RadGrid, such DateTime, int, etc. How to get the range of them, such as min and max datetime and int?
Thanks.
<
telerik:RadGrid ID="rgSortCodes" runat="server"
OnItemDataBound="rgSortCodes_ItemDataBound"
OnUpdateCommand="rgSortCodes_UpdateCommand" OnDeleteCommand="rgSortCodes_DeleteCommand"
OnEditCommand="rgSortCodes_EditCommand" OnPageIndexChanged="rgSortCodes_PageIndexChanged"
OnPageSizeChanged="rgSortCodes_PageSizeChanged" OnCancelCommand="rgSortCodes_CancelCommand"
AllowPaging="True" PageSize="10" OnItemCreated="rgSortCodes_ItemCreated" ShowFooter="True"
GridLines="None" meta:resourcekey="rgSortCodesResource1" OnDetailTableDataBind="rgSortCodes_DetailTableBind" >
<ValidationSettings ValidationGroup="SortCodeGrid" />
<HeaderStyle HorizontalAlign="Center" />
<MasterTableView DataKeyNames="ID" AutoGenerateColumns="False" AllowAutomaticUpdates="true" AllowAutomaticDeletes="True" EditMode="InPlace" >
<DetailTables>
<telerik:GridTableView Width="50%" runat="server" EditMode="InPlace" AutoGenerateColumns="false" Name="Serial" ShowHeader="true" >
<ParentTableRelation>
<telerik:GridRelationFields MasterKeyField="ID" DetailKeyField="iSortID" />
</ParentTableRelation>
<Columns>
<telerik:GridBoundColumn Visible="true" DataField="ID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn Visible="true" DataField="iSortID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn Visible="true" DataField="ID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn Visible="true" DataField="ID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn Visible="true" DataField="ID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn Visible="true" DataField="ID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn Visible="true" DataField="ID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn Visible="true" DataField="ID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn Visible="true" DataField="ID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn Visible="true" DataField="ID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn Visible="true" DataField="ID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn Visible="true" DataField="ID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn Visible="true" DataField="ID"></telerik:GridBoundColumn>
<telerik:GridTemplateColumn HeaderText="iSortID" UniqueName="iSortID">
<ItemTemplate>
<telerik:RadTextBox ID="txtSerialNumber" runat="server" MaxLength="30" Enabled="false" Text='<%# Bind("Serialnumber") %>'>
</telerik:RadTextBox>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadTextBox ID="txtSerialNumberEdit" runat="server" MaxLength="30" Text='<%# Bind("Serialnumber") %>'>
</telerik:RadTextBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridEditCommandColumn EditText="Modify"
UniqueName="EditColumn" ButtonType="PushButton">
<ItemStyle Wrap="False"></ItemStyle>
</telerik:GridEditCommandColumn>
<telerik:GridButtonColumn CommandName="Delete"
meta:resourcekey="GridButtonColumnResource1" Text="Delete" UniqueName="DeleteColumn" ButtonType="ImageButton" >
<ItemStyle Wrap="False"></ItemStyle>
</telerik:GridButtonColumn>
</Columns>
</telerik:GridTableView>
</DetailTables>
<EditItemTemplate>
<
asp:Literal ID="litNoSortCodes" runat="server" Text="No data to display"
meta:resourcekey="litNoSortCodesResource1"></asp:Literal>
</
EditItemTemplate>
<
commanditemsettings exporttopdftext="Export to Pdf"></commanditemsettings>
<
Columns>
<
telerik:GridBoundColumn Aggregate="Count" DataField="OrderLineNumber" HeaderText="Line #"
meta:resourcekey="GridBoundColumnResource1" ReadOnly="True"
UniqueName="OrderLineNumber"></telerik:GridBoundColumn>
<
telerik:GridBoundColumn DataField="Action" HeaderText="Action"
meta:resourcekey="GridBoundColumnResource2" ReadOnly="True" UniqueName="Action"></telerik:GridBoundColumn>
<
telerik:GridBoundColumn DataField="MatItem" HeaderText="Sort Code"
meta:resourcekey="GridBoundColumnResource3" ReadOnly="True"
UniqueName="MatItem"></telerik:GridBoundColumn>
<
telerik:GridTemplateColumn>
<
HeaderTemplate>Serial# rqd?</HeaderTemplate>
<
ItemTemplate>
<
asp:DropDownList ID="drpSerialRQD" runat="server" Enabled="false">
<
asp:ListItem>Y</asp:ListItem>
<
asp:ListItem Selected="True">N</asp:ListItem>
<
asp:ListItem>ER</asp:ListItem>
</
asp:DropDownList>
</
ItemTemplate>
</
telerik:GridTemplateColumn>
<
telerik:GridTemplateColumn>
<
HeaderTemplate>Serial Number</HeaderTemplate>
<
ItemTemplate>
<
asp:TextBox ID="txtGridSerialNumber" runat="server" Enabled="false"></asp:TextBox>
</
ItemTemplate>
</
telerik:GridTemplateColumn>
<
telerik:GridBoundColumn DataField="DescriptionE" HeaderText="Description"
meta:resourcekey="GridBoundColumnResource4" ReadOnly="True"
UniqueName="Description"></telerik:GridBoundColumn>
<
telerik:GridNumericColumn DataField="CurrentQuantity" HeaderText="Current Quantity"
meta:resourcekey="GridNumericColumnResource1" ReadOnly="True"
UniqueName="CurrentQuantity"></telerik:GridNumericColumn>
<
telerik:GridNumericColumn DataField="RevisedQuantity"
HeaderText="Revised Quantity" meta:resourcekey="GridNumericColumnResource2"
UniqueName="RevisedQuantity"></telerik:GridNumericColumn>
<
telerik:GridNumericColumn DataField="UnitPrice" HeaderText="Unit Price"
meta:resourcekey="GridNumericColumnResource3" NumericType="Currency"
UniqueName="UnitPrice"></telerik:GridNumericColumn>
<
telerik:GridBoundColumn DataField="SAPLineNumber" HeaderText="SAP Line Number"
meta:resourcekey="GridBoundColumnResource12" ReadOnly="True"
UniqueName="SAPLineNumber"></telerik:GridBoundColumn>
<
telerik:GridEditCommandColumn EditText="Modify"
meta:resourcekey="GridEditCommandColumnResource1" UniqueName="EditColumn" ButtonType="PushButton">
<ItemStyle Wrap="False"></ItemStyle>
</
telerik:GridEditCommandColumn>
<
telerik:GridButtonColumn CommandName="Delete"
meta:resourcekey="GridButtonColumnResource1" Text="Cancel" UniqueName="DeleteColumn" ButtonType="PushButton">
<ItemStyle Wrap="False"></ItemStyle>
</
telerik:GridButtonColumn>
</
Columns>
</
MasterTableView>
</
telerik:RadGrid>
Protected Sub RadGrid1_ItemDataBound(ByVal sender As Object, ByVal e As GridItemEventArgs) Handles RadGrid1.ItemDataBound If TypeOf e.Item Is GridDataItem Then sLat = "" sLong = "" Dim item As GridDataItem = DirectCast(e.Item, GridDataItem) item("TextActive").Text = "Yes" End IfEnd Sub<telerik:RadGrid ID="grdResults" Height="100%" runat="server" OnNeedDataSource="grdResults_NeedDataSource" OnItemDataBound="grdResults_ItemDataBound" GridLines="None" AllowSorting="true" AllowPaging="false" AutoGenerateColumns="false"> <ClientSettings> <Scrolling AllowScroll="true" UseStaticHeaders="true" SaveScrollPosition="false" /> <Selecting AllowRowSelect="true" /> </ClientSettings> <MasterTableView> <Columns> <telerik:GridBoundColumn HeaderText="StatusCodeDescription" UniqueName="StatusCodeDescription" DataField="StatusCodeDescription" HeaderStyle-Width="8%"></telerik:GridBoundColumn> </Columns> </MasterTableView></telerik:RadGrid>
then dynamically add a column in the page load like:
if (!Page.IsPostBack)
{
var boundColumn = new GridBoundColumn();
e.GridColumns.Add(boundColumn);
boundColumn.HeaderText = "Select";
boundColumn.DataField = "Id";
boundColumn.UniqueName = "selectId";
}
and still use the ItemDataBound event to manipulate the dynamically added column?
I can retrieve and manipulate the statically defined column, but I am unable to do the same for the
dynamically added column?
What am I doing wrong?
private void GridItemDataBound(object sender, GridItemEventArgs e){ if (e.Item is GridDataItem) { var item = (GridDataItem)e.Item; item["selectId"].Text = "test"; if (item["StatusCodeDescription"].Text.Length > 5) item["StatusCodeDescription"].Text = item["StatusCodeDescription"].Text.Substring(0, 2) + "..."; }}
Thanks a lot!!
Regards