Hello,
I have a scenario where I am using a RadGrid to display Terms and Conditions to the user. I have turned off headers and attempted to turn off all grid lines. I am having an issue where there are faint lines appearing and I have not been able to turn them off. The code is included. I believe that with this code, someone should be able to replicate the issue (seems like there is a faint line under every second row). Help would greatly be appreciated.
Designer Code
Code Behind Page
UserProfileOptIn Class
Thanks,
I have a scenario where I am using a RadGrid to display Terms and Conditions to the user. I have turned off headers and attempted to turn off all grid lines. I am having an issue where there are faint lines appearing and I have not been able to turn them off. The code is included. I believe that with this code, someone should be able to replicate the issue (seems like there is a faint line under every second row). Help would greatly be appreciated.
Designer Code
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="HideGridLines.aspx.cs" Inherits="Test.HideGridLines" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <telerik:RadScriptManager ID="ScriptManager" runat="server" /> <table width="763" border="0" cellspacing="0" cellpadding="0"> <tr> <td valign="top"> <asp:UpdatePanel ID="UpdatePanelOptIn" runat="server"> <ContentTemplate> <telerik:RadGrid ID="RadGridOptIn" runat="server" AutoGenerateColumns="false" ShowHeader="false" ItemStyle-BackColor="Transparent" AlternatingItemStyle-BackColor="Transparent" BorderColor="Transparent" OnItemDataBound="RadGridOptIn_ItemDataBound"> <MasterTableView DataKeyNames="OptInTypeId" BackColor="Transparent" BorderColor="Transparent" GridLines="None"> <Columns> <telerik:GridTemplateColumn DataField="IsRequired" ItemStyle-HorizontalAlign="Right" ItemStyle-VerticalAlign="Top"> <ItemTemplate> <asp:PlaceHolder ID="plhOptInRequired" runat="server" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn UniqueName="IsSelected" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign="Top"> <ItemTemplate> <asp:CheckBox ID="cboIsSelected" runat="server" AutoPostBack="true" OnCheckedChanged="cboIsSelected_CheckedChanged" TabIndex="30" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="OptInHtml" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign="Top" /> </Columns> </MasterTableView> </telerik:RadGrid> </ContentTemplate> </asp:UpdatePanel> </td> </tr> </table> </form> </body> </html> Code Behind Page
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Telerik.Web.UI; namespace Test { public partial class HideGridLines : System.Web.UI.Page { #region Properties #region HcpOptIns private UserProfileOptInList HcpOptIns { get { if (ViewState["HcpOptIns"] == null) { ViewState["HcpOptIns"] = UserProfileOptInList.GetUserProfileOptInList(); } return (UserProfileOptInList)ViewState["HcpOptIns"]; } set { ViewState["HcpOptIns"] = value; } } #endregion #endregion #region Events #region cboIsSelected_CheckedChanged protected void cboIsSelected_CheckedChanged(object sender, EventArgs e) { try { CheckBox optIn = (CheckBox)sender; bool isSelected = optIn.Checked; GridDataItem item = (GridDataItem)optIn.NamingContainer; // get UserProfileOptInCollection record by datakey from the grid long optInTypeID = Convert.ToInt64(item.GetDataKeyValue("OptInTypeId")); UserProfileOptIn regOptIn = HcpOptIns.ItemByOptInTypeId(optInTypeID); regOptIn.IsSelected = isSelected; BindOptIns(); } catch (Exception ex) { string message = ex.Message; } } #endregion #region Page_Load protected void Page_Load(object sender, EventArgs e) { BindOptIns(); } #endregion #region RadGridOptIn_ItemDataBound protected void RadGridOptIn_ItemDataBound(object sender, GridItemEventArgs e) { try { if (e.Item is GridDataItem) { if (e.Item.DataItem is UserProfileOptIn) { PlaceHolder plhOptInRequired = (PlaceHolder)e.Item.FindControl("plhOptInRequired"); CheckBox chkOptIn = (CheckBox)e.Item.FindControl("cboIsSelected"); UserProfileOptIn optIn = (UserProfileOptIn)e.Item.DataItem; System.Web.UI.WebControls.Image imgESignature = (System.Web.UI.WebControls.Image)e.Item.FindControl("imgESignature"); if (optIn.IsRequired) { AddContentToPlaceHolderControl(@"<span class=""RequiredFieldAsterik""> * </span>", ref plhOptInRequired); } else { AddContentToPlaceHolderControl(" ", ref plhOptInRequired); } if (optIn.IsSelected) { chkOptIn.Checked = true; } else { chkOptIn.Checked = false; } } } } catch (Exception ex) { string message = ex.Message; } } #endregion #endregion #region Methods #region AddContentToPlaceHolderControl /// <summary> /// Method to indicate required fields /// </summary> /// <param name="controlHTML">HTML Literal Control to be added to the PlaceHolder Control.</param> /// <param name="inputPlaceHolderControl">PlaceHolder Control that will have literal control added to it.</param> public static void AddContentToPlaceHolderControl(string controlHTML, ref PlaceHolder inputPlaceHolderControl) { Literal htmlForPlaceHolder = new Literal(); htmlForPlaceHolder.Text = controlHTML; inputPlaceHolderControl.Controls.Add(htmlForPlaceHolder); } #endregion #region BindOptIns private void BindOptIns() { RadGridOptIn.DataSource = HcpOptIns; RadGridOptIn.DataBind(); } #endregion #endregion } } UserProfileOptIn Class
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Test { [Serializable] public class UserProfileOptIn { #region Instance Variables private long _userProfileOptInTypeId; private long _optInTypeId; private bool _isRequired; private bool _isDisplayed; private bool _isSelected; private string _optInHtml = string.Empty; #endregion #region Properties public long UserProfileOptInTypeId { get { return this._userProfileOptInTypeId; } set { this._userProfileOptInTypeId = value; } } public long OptInTypeId { get { return this._optInTypeId; } set { this._optInTypeId = value; } } public bool IsRequired { get { return this._isRequired; } } public bool IsDisplayed { get { return this._isDisplayed; } set { this._isDisplayed = value; } } public bool IsSelected { get { return this._isSelected; } set { this._isSelected = value; } } public string OptInHtml { get { return this._optInHtml; } set { this._optInHtml = value; } } #endregion #region Constructor private UserProfileOptIn(long userProfileOptInTypeId, long optInTypeId, bool isRequired, bool isDisplayed, bool isSelected, string optInHtml) { this._userProfileOptInTypeId = userProfileOptInTypeId; this._optInTypeId = optInTypeId; this._isRequired = isRequired; this._isDisplayed = isDisplayed; this._isSelected = isSelected; this._optInHtml = optInHtml; } #endregion #region Factory Methods public static UserProfileOptIn NewUserProfileOptInt(long userProfileOptInTypeId, long optInTypeId, bool isRequired, bool isDisplayed, bool isSelected, string optInHtml) { return new UserProfileOptIn(userProfileOptInTypeId, optInTypeId, isRequired, isDisplayed, isSelected, optInHtml); } #endregion } [Serializable()] public class UserProfileOptInList : List<UserProfileOptIn> { #region Constructor private UserProfileOptInList(bool getList) { if (getList) { this.Add(UserProfileOptIn.NewUserProfileOptInt(1, 1, true, true, false, "This is the first condition.")); this.Add(UserProfileOptIn.NewUserProfileOptInt(2, 3, true, true, false, "This is the second condition.")); this.Add(UserProfileOptIn.NewUserProfileOptInt(3, 1, true, true, false, "This is the third condition.")); this.Add(UserProfileOptIn.NewUserProfileOptInt(4, 4, true, true, false, "This is the fourth condition.")); this.Add(UserProfileOptIn.NewUserProfileOptInt(5, 5, true, true, false, "This is the fifth condition.")); this.Add(UserProfileOptIn.NewUserProfileOptInt(6, 6, true, true, false, "This is the sixth condition.")); } } #endregion #region Factory Methods public static UserProfileOptInList NewUserProfileOptInList() { return new UserProfileOptInList(false); } public static UserProfileOptInList GetUserProfileOptInList() { return new UserProfileOptInList(true); } #endregion #region Methods public UserProfileOptIn ItemByOptInTypeId(long optInTypeId) { foreach (UserProfileOptIn userProfileOptInItem in this) { if (userProfileOptInItem.OptInTypeId == optInTypeId) { return userProfileOptInItem; } } return null; } #endregion } } Thanks,