<telerik:RadListView ID="lstCommissions" runat="server" DataKeyNames="EmployeeCommissionBankID" ItemPlaceholderID="plhCommissions" OnItemCommand="lstCommissions_ItemCommand" OnItemDataBound="lstCommissions_ItemDataBound" OnNeedDataSource="lstCommissions_NeedDataSource"> <LayoutTemplate> <div class="CommissionControlContainer"> <div class="LoanNumberTitle">Loan Number</div> <div class="CommissionTotalTitle">Commission</div> <div class="SpreadTitle">Commission Spread</div> <asp:PlaceHolder ID="plhCommissions" runat="server" /> </div> </LayoutTemplate> <ItemTemplate> <div class="RowContainer"> <div class="LoanNumber"><asp:Label ID="lblLoanNumber" runat="server" /></div> <div class="CommissionTotal"><asp:Label ID="lblCommissionTotal" runat="server" /></div> <div class="SpreadButton"> <telerik:RadButton ID="btnSplit" runat="server" AutoPostBack="true" ButtonType="ToggleButton" CausesValidation="true" CommandName="Split" CommandArgument='<% Bind("LoanNumber"); %>' Style="padding-left: 25px;" ToggleType="CheckBox" > <ToggleStates> <telerik:RadButtonToggleState PrimaryIconCssClass="rbRemove" Text="Remove Spread" /> <telerik:RadButtonToggleState PrimaryIconCssClass="rbOk" Text="Spread" /> </ToggleStates> </telerik:RadButton> </div> <div class="SpreadValue"> <telerik:RadNumericTextBox ID="txtSpreadAmount" runat="server" AutoPostBack="true" /> <asp:RequiredFieldValidator ID="rfvSpreadAmount" runat="server" ControlToValidate="txtSpreadAmount" ErrorMessage="Spread amount is required" Text="*" /> <asp:ValidationSummary ID="vsSpreadAmount" runat="server" DisplayMode="BulletList" ShowMessageBox="true" ShowSummary="false" Visible="true" /> </div> </div> </ItemTemplate> </telerik:RadListView>if (e.Item is RadListViewDataItem) { RadListViewDataItem item = e.Item as RadListViewDataItem; // item-level objects Label lblLoanNumber = item.FindControl("lblLoanNumber") as Label; Label lblCommissionTotal = item.FindControl("lblCommissionTotal") as Label; RadNumericTextBox txtSpreadAmount = item.FindControl("txtSpreadAmount") as RadNumericTextBox; RadButton btnSplit = item.FindControl("btnSplit") as RadButton; RequiredFieldValidator rfvSpreadAmount = item.FindControl("rfvSpreadAmount") as RequiredFieldValidator; ValidationSummary vsSpreadAmount = item.FindControl("vsSpreadAmount") as ValidationSummary; EmployeeCommissionEntity ec = item.DataItem as EmployeeCommissionEntity; if (ec.Amount.HasValue) { // set the validation groups for all the controls that need it btnSplit.ValidationGroup = txtSpreadAmount.ValidationGroup = rfvSpreadAmount.ValidationGroup = vsSpreadAmount.ValidationGroup = "Split_" + ec.EmployeeCommissionBankID.ToString().Replace("-", string.Empty); lblLoanNumber.Text = ec.LoanNumber; lblCommissionTotal.Text = string.Format("{0:c}", ec.Amount); txtSpreadAmount.MaxValue = ec.Amount.Value.ToDouble(); txtSpreadAmount.MinValue = 0; } else item.Visible = false; } <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> <script type="text/javascript"> function copyAmount() { if (document.getElementById("<%=tbApprovedAmount.ClientID%>")) { document.getElementById("<%=tbApprovedAmount.ClientID%>").value = document.getElementById("<%=tbRequestedAmount.ClientID%>").value; } } </script> </asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> . . . <EditFormSettings EditFormType="Template" FormStyle-BackColor="#DBE9FD"> <EditColumn UniqueName="EditCommandColumn1"> </EditColumn> <FormStyle BackColor="#DBE9FD" /> <FormTemplate> <table width="800px" border="0" > <tr> <td align="left"> <asp:TextBox ID="tbRequestedAmount" runat="server" Text='<%# Bind("RequestedAmount", "{0:0.00}") %>' ></asp:TextBox> <asp:RequiredFieldValidator ID="rfvRequestedAmount" runat="server" ErrorMessage="Requested amount is a required field" Display="None" ControlToValidate="tbRequestedAmount" ValidationGroup="Service"></asp:RequiredFieldValidator> <asp:Button ID="tbCopy" runat="server" Text="->" Height="20px" OnClientClick="copyAmount" /> </td> </tr> </table> </FormTemplate> </EditFormSettings> . . . </asp:Content>1. In Aspx Page
<telerik:RadGrid ID="RadGrid1" runat="server" AllowFilteringByColumn="true"
AllowAutomaticUpdates="True" PageSize="10" Width="100%" AutoGenerateColumns="false"
AllowMultiRowSelection="true" DataSourceID="sds_Reconcile" onitemcreated="RadGrid1_ItemCreated"
OnItemDataBound="RadGrid1_ItemDataBound" OnPreRender="RadGrid1_PreRender">
<PagerStyle Mode="NextPrevNumericAndAdvanced" AlwaysVisible="true" />
<MasterTableView Name="Table1" DataKeyNames="id" AllowMultiColumnSorting="True" AllowFilteringByColumn="true" TableLayout="Fixed" EditMode="InPlace" CanRetrieveAllData="False">
<HeaderStyle CssClass="Level1HeaderStyle" />
<Columns>
<telerik:GridClientSelectColumn DataTextField="pvkey" Text="select" UniqueName="column1"
HeaderText="Select"> </telerik:GridClientSelectColumn>
...
</Columns>
2. C# Code
a. In ItemDataBound and ItemCreated i have used this code
if (e.Item is GridDataItem) {
GridDataItem item = (GridDataItem)e.Item;
if (item.OwnerTableView.Name == "Table") {
if (item["is_recon"].Text == "True") {
CheckBox chkbx = (CheckBox)item["column1"].Controls[0];
chkbx.Checked =
true;
e.Item.BackColor = System.Drawing.
ColorTranslator.FromHtml("green"); }}}
b. In PreRender, I am using this code
foreach
(GridDataItem dataItem in this.RadGrid1.MasterTableView.Items)
{
if (dataItem["is_recon"].Text == "True")
{
CheckBox chkbx = (CheckBox)dataItem["column1"].Controls[0];
chkbx.Checked =
true;
}
dataItem["column1"].BackColor = System.Drawing.Color.Gray;
}
I am able to get the correct values from the database, and they are executing with the chkbx.Checked = true. But I could not see the items checked in the webpage when they are loaded.
And also I am using Default skin, and assigning my custom css to that Grid, with which I am unable to color the row. (dataItem["column1"].BackColor = System.Drawing.Color.Gray;)
Thanks
Mark
<%@ Page Title="" Language="VB" MasterPageFile="~/mpMainMenu.master" AutoEventWireup="true" CodeFile="cInvoices.aspx.vb" Inherits="cInvoices" %><%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <p> <span class="style1"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> </telerik:RadScriptManager> Welcome</span> <asp:Label ID="lblUserName" runat="server" CssClass="style1" Text="User"> </asp:Label> <span class="style1">. <br /> You can download or open the selected file (according the selection below), with double click. <br /> </span> <asp:RadioButton ID="rbDownload" runat="server" Checked="True" CssClass="style1" GroupName="MyGroup" Text="Download (Save the file to your computer)" /> <asp:RadioButton ID="rbOpen" runat="server" CssClass="style1" GroupName="MyGroup" Text="Open (Open the file in Viewer)" /> </p> <p> <telerik:RadFileExplorer ID="RadFileExplorer1" Runat="server" Skin="Office2007" OnClientFileOpen="OnClientFileOpen" EnableOpenFile="true" EnableCreateNewFolder="False" VisibleControls="TreeView, Grid, ContextMenus" style="text-align: left" Height="452px" Width="725px" > <Configuration SearchPatterns="*.*"></Configuration> </telerik:RadFileExplorer> </p> <script type="text/javascript"> //<![CDATA[ function OnClientFileOpen(oExplorer, args) { var item = args.get_item(); var fileExtension = item.get_extension(); var fileDownloadMode = document.getElementById("rbDownload").checked; if ((fileDownloadMode == true) && (fileExtension == "jpg" || fileExtension == "pdf")) {// Download the file // File is a image document, do not open a new window args.set_cancel(true); // Tell browser to open file directly var requestImage = "Handler.ashx?path=" + item.get_url(); document.location = requestImage; } setTimeout(function() { var oWindowManager = oExplorer.get_windowManager(); var previewWinow = oWindowManager.getActiveWindow(); // Gets the current active widow previewWinow.setSize(500, 500); // Set the new size of the window }, 100); // Some timeout is required in order to allow the window to become active } //]]> </script> </asp:Content>