<div class="Scrollgrid" style="width: 1100px; height: 600px;"> <telerik:RadGrid ID="RadGridAllRequests" runat="server" AllowPaging="true" AllowSorting="true" AllowFilteringByColumn="true" AutoGenerateColumns="False" GridLines="Both" OnNeedDataSource="RadGridAllRequests_needdatasource" OnItemDataBound="RadGridAllRequests_ItemDataBound" OnItemCreated="RadGridAllRequests_ItemCreated" OnItemCommand="RadGridAllRequests_ItemCommand" AllowMultiRowSelection="true" SelectedItemStyle-CssClass="SelectedItem" Width="100%" Skin="WebBlue"> <PagerStyle Mode="NextPrevNumericAndAdvanced" Position="TopAndBottom" AlwaysVisible="true" /> <ClientSettings EnableRowHoverStyle="true" EnablePostBackOnRowClick="true"> <Selecting AllowRowSelect="true" /> </ClientSettings> <MasterTableView ShowHeadersWhenNoRecords="true" AllowFilteringByColumn="true" DataKeyNames="RequestInfoID"> <Columns> <telerik:GridNumericColumn DataField="RequestInfoID" HeaderText="Request No." SortExpression="RequestInfoID" DataType="System.Int64" FilterControlWidth="40px" HeaderStyle-Width="100px" > </telerik:GridNumericColumn> <telerik:GridDateTimeColumn HeaderStyle-Width="130px" DataField="CreationDate" HeaderText="Created On" FilterControlWidth="100px" CurrentFilterFunction="Contains" PickerType="DatePicker" DataFormatString="{0:MM/dd/yyyy}" SortExpression="CreationDate"> </telerik:GridDateTimeColumn> <telerik:GridNumericColumn DataField="TotalAmount" HeaderText="Total Amount" SortExpression="TotalAmount" HeaderStyle-HorizontalAlign="Right" ItemStyle-HorizontalAlign="Right" DataType="System.Decimal" FilterControlWidth="70px" DataFormatString="{0:#,##0.00}"> <FooterStyle Font-Bold="true" /> </telerik:GridNumericColumn> <telerik:GridBoundColumn DataField="RequestedFrom_Email" HeaderText="Requested From" SortExpression="RequestedFrom_Email"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="Describe Reason and Reject" UniqueName="rejectrequest" AllowFiltering="false" HeaderStyle-Width="240px" > <ItemTemplate> <asp:Label ID="lblNextApprovalRequiredFor" runat="server" Visible="false" Text='<%#Eval ( "NextApprovalRequiredFor").ToString()%>'></asp:Label> <asp:Label ID="lblUnder5000ApprovedORRejected" runat="server" Visible="false" Text='<%#Eval ( "Under5000ApprovedORRejected").ToString()%>'></asp:Label> <asp:Label ID="lblOver5000ApprovedORRejected" runat="server" Visible="false" Text='<%#Eval ( "Over5000ApprovedORRejected").ToString()%>'></asp:Label> <asp:Label ID="lblFinanceApprovedORRejected" runat="server" Visible="false" Text='<%#Eval ( "FinanceApprovedORRejected").ToString()%>'></asp:Label> <asp:Label ID="lblOver25000CFOApprovedORRejected" runat="server" Visible="false" Text='<%#Eval ( "Over25000CFOApprovedORRejected").ToString()%>'></asp:Label> <asp:Label ID="lblOver25000COOApprovedORRejected" runat="server" Visible="false" Text='<%#Eval ( "Over25000COOApprovedORRejected").ToString()%>'></asp:Label> <asp:Label ID="lblOver25000CEOApprovedORRejected" runat="server" Visible="false" Text='<%#Eval ( "Over25000CEOApprovedORRejected").ToString()%>'></asp:Label> <asp:Label ID="lblRejectedMessage" runat="server" Text="Rejected"></asp:Label> <asp:TextBox Width="150px" runat="server" MaxLength="150" ValidationGroup="vgRejection" ID="txtRejectionReason" ToolTip="Enter Rejection Reason"></asp:TextBox> <%-- <asp:RequiredFieldValidator ID="rvRejectionReason" Display="Dynamic" ValidationGroup="vgRejection" runat="server" SetFocusOnError="true" ControlToValidate="txtRejectionReason" ErrorMessage="Enter Rejection Reason" ToolTip="Enter Rejection Reason"> </asp:RequiredFieldValidator> --%> <asp:Button CssClass="ButtonCSS" runat="server" ID="btnRejectRequest" Text="Reject" ToolTip="Click here to Reject Request" CausesValidation="true" ValidationGroup="vgRejection" OnClick="btnRejectRequest_Click" OnClientClick="javascript:var agree= confirm('Are you sure you want to reject this Request? '); if(agree){ Page_BlockSubmit = false;buttonClicked_WithObj(this); return true; };else {return false;};" CommandArgument='<%# Eval ( "RequestInfoID").ToString() + ";" + Eval ( "NextApprovalRequiredFor").ToString() + ";" + Eval ( "TotalAmount").ToString() %>' /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="Request_Current_Status_DisplayText" HeaderText="Current Status" SortExpression="Request_Current_Status_DisplayText" UniqueName="Request_Current_Status_DisplayText"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="Request No." SortExpression="RequestInfoID" AllowFiltering="false" Visible="false" UniqueName="requestinfoid"> <ItemTemplate> <asp:Label ID="lblRequestInfoID" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "RequestInfoID")%>'></asp:Label></ItemTemplate> </telerik:GridTemplateColumn> </Columns> <EditFormSettings> <PopUpSettings ScrollBars="None" /> </EditFormSettings> <ExpandCollapseColumn Resizable="False" Visible="False"> <HeaderStyle /> </ExpandCollapseColumn> <RowIndicatorColumn Visible="False"> <HeaderStyle /> </RowIndicatorColumn> </MasterTableView> </telerik:RadGrid> </div><tr> <td colspan="2" class="t12_BlackBold"><div align="right"> Country: <span class="t12_red">*</span> </div></td> <td class="style1"><div align="left"> <telerik:RadComboBox ID="frm_sCountry_cd" Runat="server" DataTextField="sCountry" DataValueField="sCountry_cd" ErrorMessage="Required field." Skin="Outlook" Width="180px" DropDownWidth="240px" MaxHeight="300px" onclientselectedindexchanged="LoadStates" OnItemsRequested="frm_sCountry_cd_ItemsRequested"> </telerik:RadComboBox><asp:CompareValidator ID="sCountry_cd_VD" runat="server" ValueToCompare="-Select a Country-" Operator="NotEqual" ControlToValidate="frm_sCountry_cd" CssClass="KT_field_error" Font-Bold="True" Display="Dynamic" ErrorMessage="<br />You must select a country."/> </div></td> </tr> <tr> <td colspan="2" class="t12_BlackBold"><div align="right"> State/Region: <span class="t12_red">*</span> </div></td> <td class="style1"><div align="left"> <telerik:RadComboBox ID="frm_sState" Runat="server" DataTextField="sStateDesc" DataValueField="sState" EmptyMessage="-Select State-" ErrorMessage="Required field." Skin="Outlook" Width="180px" MaxHeight="300px" DropDownWidth="200px" OnClientItemsRequested="ItemsLoaded" OnItemsRequested="frm_sState_ItemsRequested" > </telerik:RadComboBox><asp:CompareValidator ID="sState_VD" runat="server" ValueToCompare="-Select State/Region-" Operator="NotEqual" ControlToValidate="frm_sCountry_cd" CssClass="KT_field_error" Font-Bold="True" Display="Dynamic" ErrorMessage="<br />You must select a state/region."/> </div></td> </tr> . . . . <script type="text/javascript"> //global variables for the countries and cities comboboxes var sStatesCombo; function pageLoad() { // initialize the global variables // in this event all client objects // are already created and initialized sStatesCombo = $find("<%= frm_sState.ClientID%>"); function LoadStates(combo, eventArqs) { var item = eventArqs.get_item(); sStatesCombo.set_text("Loading..."); // if a continent is selected if (item.get_index() > 0) { // this will fire the ItemsRequested event of the // countries combobox passing the sCountry_id as a parameter if (sStatesCombo.get_visible == false ) { sStatesCombo.set_visible(true); } sStatesCombo.clearItems(); sStatesCombo.requestItems(item.get_value(), false); sStatesCombo.commitChanges(); items = sStatesCombo.get_items(); if (items.get_count() == 0) { sStatesCombo.set_text("-Select State/Region-"); } else { sStatesCombo.clearItems(); } } else { // the -Select a continent- item was chosen sStatesCombo.set_text("-Select Country first-"); sStatesCombo.clearItems(); } } function ItemsLoaded(combo, eventArqs) { if (combo.get_items().get_count() > 0) { // pre-select the first item combo.set_text(combo.get_items().getItem(0).get_text()); combo.get_items().getItem(0).highlight(); } combo.showDropDown(); } </script>'Code used in updating the values ... 'Setup Country and state drop downs
LoadCountries() frm_sCountry_cd.SelectedValue = sCountry_cd LoadStates(sCountry_cd) If sState <> "" Then frm_sState.SelectedValue = sState ... Protected Sub LoadCountries() Dim connection As New SqlConnection(ConfigurationManager.ConnectionStrings("AAU_StoreCS").ConnectionString) Dim adapter As New SqlDataAdapter("SELECT Value AS sCountry_cd, Text AS sCountry, EntryID AS ParentID, 0 as sOrder FROM Mstr_Lists WHERE (ListName = 'Country') AND (Value = 'US') UNION SELECT Value AS sCountry_cd, Text AS sCountry, EntryID AS ParentID, 1 as sOrder FROM Mstr_Lists AS Mstr_Lists_1 WHERE (ListName = 'Country') Order by sOrder, sCountry", connection) Dim dt As New DataTable() adapter.Fill(dt) frm_sCountry_cd.DataTextField = "sCountry" frm_sCountry_cd.DataValueField = "sCountry_cd" frm_sCountry_cd.DataSource = dt frm_sCountry_cd.DataBind() 'insert the first item frm_sCountry_cd.Items.Insert(0, New RadComboBoxItem("-Select a Country-")) End Sub Protected Sub LoadStates(ByVal sCountry_cd As String) Dim connection As New SqlConnection(ConfigurationManager.ConnectionStrings("AAU_StoreCS").ConnectionString) 'Select states/regions based on the sCountry_cd Dim adapter As New SqlDataAdapter("SELECT Value AS sState, Text AS sStateDesc, ParentID FROM Mstr_Lists WHERE (ListName = 'Region') AND (ParentID = (SELECT EntryID FROM Mstr_Lists AS Mstr_Lists_1 WHERE (ListName = 'Country') AND (Value = @Country_cd))) ORDER BY sStateDesc", connection) adapter.SelectCommand.Parameters.AddWithValue("@Country_cd", sCountry_cd) Dim dt As New DataTable() adapter.Fill(dt) frm_sState.DataTextField = "sStateDesc" frm_sState.DataValueField = "sState" frm_sState.DataSource = dt frm_sState.DataBind() If Not frm_sState.IsEmpty Then frm_sState.Visible = True 'sStateTxt.Visible = False 'insert the first item If sCountry_cd = "US" Then frm_sState.Items.Insert(0, New RadComboBoxItem("-Select State-")) Else frm_sState.Items.Insert(0, New RadComboBoxItem("-Select State/Region-")) End If Else 'frm_sState.Visible = False 'sStateTxt.Visible = True End If End Sub 'Code used to read values during post back. ... Dim sState As String = Left(Replace(frm_sState.SelectedValue.ToString(), "'", "''"), 20) Dim sCountry_cd As String = Left(Replace(frm_sCountry_cd.SelectedValue.ToString, "'", ""), 2) ...For
i As Integer = 0 To RadGrid1.Items.Count - 1
If Service_Reports_Table(i)("Status") = "Newly Submitted" Then
RadGrid1.Items.Item(i).BackColor = Drawing.Color.Wheat
ElseIf Service_Reports_Table(i)("Status") = "Entered" Then
RadGrid1.Items.Item(i).BackColor = Drawing.Color.Thistle
End If
Next
That code right above appears in both the page load and the needdatasource events.
When a user applies a filter or clicks on the edit, update, cancel commands, the colors disappear until a postback occurs.
Can something be done so that the "Code for the colors" execute when those commands are fired?
I ran my page through the validator at http://validator.w3.org/, and it told me: Line 467, Column 144: there is no attribute "disabled"
The link it's referring to is inside my grid:
<div id="ctl00_cphMain_grdSchedule_ctl00_ctl06_Detail10_ctl06_Detail10_ctl04_ttpScheduleItem" disabled="disabled" style="display:none;position:absolute;">???

| <telerik:RadGrid ID="RadGrid2" AllowSorting="True" |
| AllowPaging="True" PageSize="5" Skin="Office2007" runat="server" GridLines="None" |
| Width="100%" AutoGenerateColumns="false" > |
| <MasterTableView ClientDataKeyNames="IdNo"> |
| <Columns> |
| <telerik:GridBoundColumn DataField="IdNo" HeaderText="ID"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="Members" HeaderText="Name "> |
| </telerik:GridBoundColumn> |
| </Columns> |
| </MasterTableView> |
| <ClientSettings> |
| <Selecting AllowRowSelect="True" /> |
| <ClientEvents OnRowSelected="onRowSelected" /> |
| </ClientSettings> |
| <PagerStyle NextPageText="Next" PrevPageText="Prev"></PagerStyle> |
| </telerik:RadGrid> |