Hi,
i have an asp.net application using a radgrid. I want to froze some columns.<
telerik:RadGrid
ID
=
"GridProjectProposals"
runat
=
"server"
AutoGenerateColumns
=
"false"
AllowSorting
=
"true"
Height
=
"650px"
Width
=
"1200px"
GridLines
=
"None"
Skin
=
"Windows7"
AllowMultiRowSelection
=
"True"
AllowFilteringByColumn
=
"True"
>
<
ClientSettings
EnableRowHoverStyle
=
"true"
>
<
Selecting
AllowRowSelect
=
"true"
EnableDragToSelectRows
=
"true"
/>
<
Scrolling
AllowScroll
=
"true"
EnableVirtualScrollPaging
=
"true"
SaveScrollPosition
=
"true"
UseStaticHeaders
=
"true"
FrozenColumnsCount
=
"4"
/>
</
ClientSettings
>
<
MasterTableView
GridLines
=
"None"
AllowNaturalSort
=
"true"
EditMode
=
"InPlace"
AllowMultiColumnSorting
=
"true"
>
<
Columns
>
</
Columns
>
<
HeaderStyle
Width
=
"180px"
/>
</
MasterTableView
>
</
telerik:RadGrid
>
Looking forward to get some ideas and your input.
Thanks ...
Hello Telerik Team,
We have a problem using TreeListView. Because there are a lot of records as result, we need to use paging in db. First page is displayed ok, but when another page is selected, this error is thrown: “the table must contain row sections in order of header, body, then footer”. VirtualCount is not supported for this control.
See below the definition of the treelist:
<telerik:RadTreeList ID="rtlDescendants" runat="server" ShowTreeLines="true" ShowOuterBorders="true"
ParentDataKeyNames="ParentInstanceID" DataKeyNames="InstanceID" AutoGenerateColumns="false"
Skin="Office2007" OnNeedDataSource="rtlDescendants_NeedDataSource" OnItemDataBound="rtl_ItemDataBound"
AllowPaging="true" AllowSorting="false" PageSize="10" onpageindexchanged="rtlDescendants_PageIndexChanged">
<PagerStyle Position="Bottom" Mode="NextPrevAndNumeric" />
<Columns>
<telerik:TreeListTemplateColumn HeaderText="ID">
<ItemTemplate>
<asp:Image ID="imgDomain" Width="16px" Height="16px" ImageUrl='<%# String.Format("~/images/Metallic16x16/{0}16x16.png", Eval("DomainName").ToString().ToUpper()) %>'
runat="server" />
<asp:LinkButton ID="lnkName" runat="server" CausesValidation="false" Text='<%# Eval("Name")%>'
PostBackUrl='<%# String.Format("~/CI/Attributes.aspx?InstanceID={0}", Eval("InstanceID")) %>'></asp:LinkButton>
</ItemTemplate>
</telerik:TreeListTemplateColumn>
<telerik:TreeListTemplateColumn HeaderStyle-Width="3%" ItemStyle-Width="3%" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:ImageButton ID="imgbPreview" runat="server" CausesValidation="false" OnClientClick='<%# String.Format("OpenPreviewPanel({0})", Eval("InstanceID")) %>'
ImageUrl="~/imagesCMSite/folder-explorer-icon.png" CssClass="image" />
</ItemTemplate>
</telerik:TreeListTemplateColumn>
<telerik:TreeListBoundColumn HeaderText="Type" HeaderStyle-Width="27%" ItemStyle-Width="27%"
DataField="DomainName" UniqueName="DomainName">
</telerik:TreeListBoundColumn>
<telerik:TreeListBoundColumn HeaderText="Modified By" HeaderStyle-Width="20%" ItemStyle-Width="20%"
DataField="ModifiedBy" UniqueName="ModifiedBy">
</telerik:TreeListBoundColumn>
<telerik:TreeListBoundColumn HeaderText="Last Modified" HeaderStyle-Width="20%" ItemStyle-Width="20%"
DataField="LastModified" UniqueName="LastModified">
</telerik:TreeListBoundColumn>
</Columns>
</telerik:RadTreeList>
Thank you in advance for your help
// Determine which item was clicked
if
(eventArgs.get_item().get_text() ==
"Lock and Submit"
) {
// Open the dialog
var
objWindow = $find(
"<%=rwLockAndSubmitPlan.ClientID%>"
);
objWindow.set_title(eventArgs.get_item().get_text());
objWindow.set_iconUrl(
"\Images/lock.png"
);
objWindow.setUrl(
"\Dialogs/LockAndSubmitPlan.aspx?mode=lockandsubmit"
);
objWindow.show();
}
else
if
(eventArgs.get_item().get_text() ==
"Provide Explanations"
) {
// Open the dialog
var
objWindow = $find(
"<%=rwLockAndSubmitPlan.ClientID%>"
);
objWindow.set_title(eventArgs.get_item().get_text());
objWindow.set_iconUrl(
"\Images/notepad.gif"
);
objWindow.setUrl(
"\Dialogs/LockAndSubmitPlan.aspx?mode=provideexplanations"
);
objWindow.show();
}
<
telerik:RadWindowManager
runat
=
"server"
ID
=
"rwmRadWindowManager"
VisibleStatusbar
=
"false"
ReloadOnShow
=
"true"
>
<
Windows
>
<
telerik:RadWindow
runat
=
"server"
ID
=
"rwLockAndSubmitPlan"
Modal
=
"true"
ReloadOnShow
=
"true"
VisibleTitlebar
=
"true"
Behaviors
=
"Close"
OnClientPageLoad
=
"OnClientPageLoad_SpendingPlan"
OnClientClose
=
"OnClientClose_Spending_Plan"
Width
=
"550"
Height
=
"450"
/>
</
Windows
>
</
telerik:RadWindowManager
>
function
OnClientPageLoad_SpendingPlan(objWindow, objArguments) {
objWindow.set_status(
""
);
}
Telerik.Web.UI.dll version:2010.1.415.35
1. First you need to install Telerik.Web.UI.dll in the GAC
2. Next you should tell SharePoint that the controls from the Telerik.Web.UI.dll is safe to use.
To do so you should add a few <SafeControl> entries within the <SafeControls> section in your web.config:
<SafeControl Assembly="Telerik.Web.UI, Version=2010.1.415.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4"
Namespace="Telerik.Web.UI" TypeName="*" Safe="True" />
3. You need to register their handlers in the respective section in the web.config:
[web.config] IIS 5.x/6.x/7.x
<httpHandlers>
<add verb="*" path="Telerik.Web.UI.DialogHandler.aspx"
type="Telerik.Web.UI.DialogHandler, Telerik.Web.UI, Culture=neutral, PublicKeyToken=121fae78165ba3d4" />
<add verb="*" path="Telerik.Web.UI.SpellCheckHandler.axd"
type="Telerik.Web.UI.SpellCheckHandler, Telerik.Web.UI, Culture=neutral, PublicKeyToken=121fae78165ba3d4" />
<add path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResource, Telerik.Web.UI" validate="false" />
</httpHandlers>
<handlers>
.................
<add name="Telerik.Web.UI.SpellCheckHandler.axd_*" path="Telerik.Web.UI.SpellCheckHandler.axd" verb="*"
type="Telerik.Web.UI.SpellCheckHandler, Telerik.Web.UI, Version=2010.1.415.35, Culture=neutral,
PublicKeyToken=121fae78165ba3d4" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="Telerik.Web.UI.DialogHandler.aspx_*" path="Telerik.Web.UI.DialogHandler.aspx" verb="*"
type="Telerik.Web.UI.DialogHandler, Telerik.Web.UI, Version=2010.1.415.35, Culture=neutral,
PublicKeyToken=121fae78165ba3d4" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="Telerik.Web.UI.WebResource.axd_*" path="Telerik.Web.UI.WebResource.axd" verb="*"
type="Telerik.Web.UI.WebResource, Telerik.Web.UI" preCondition="integratedMode,runtimeVersionv2.0" />
.............
</handlers>
Thanks Vinh
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CompanyReports_Scoreboard.ascx.cs" Inherits="Revd.Modules.Managers.CompanyReports_Scoreboard" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGrid1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid1"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
/>
<
table
class
=
"FFTableView100pc"
>
<
tr
>
<
td
class
=
"FFTableHeader"
>
Scoreboard
</
td
>
</
tr
>
<
tr
>
<
td
class
=
"FFGeneral"
>
The Scoreboard shows all participants and their scores.
</
td
>
</
tr
>
<
tr
>
<
td
>
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AllowFilteringByColumn
=
"True"
OnItemCommand
=
"RadGrid1_ItemCommand"
AllowPaging
=
"True"
AllowSorting
=
"True"
DataSourceID
=
"SqlDataSource1"
GridLines
=
"None"
ShowGroupPanel
=
"True"
OnGridExporting
=
"RadGrid1_Exporting"
OnItemDataBound
=
"RadGrid1_ItemDataBound"
PageSize
=
"20"
>
<
HeaderContextMenu
EnableImageSprites
=
"True"
CssClass
=
"GridContextMenu GridContextMenu_Default"
>
</
HeaderContextMenu
>
<
MasterTableView
AutoGenerateColumns
=
"False"
DataKeyNames
=
"TenantID"
DataSourceID
=
"SqlDataSource1"
CommandItemDisplay
=
"Bottom"
>
<
CommandItemSettings
ShowAddNewRecordButton
=
"false"
ShowExportToExcelButton
=
"true"
ExportToExcelText
=
"Export to Excel"
ShowRefreshButton
=
"true"
RefreshText
=
"Refresh this view"
/>
<
RowIndicatorColumn
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
ExpandCollapseColumn
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"TenantID"
DataType
=
"System.Int32"
HeaderText
=
"TenantID"
ReadOnly
=
"True"
SortExpression
=
"TenantID"
UniqueName
=
"TenantID"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
Groupable
=
"false"
DataField
=
"TenantName"
HeaderText
=
"Customer Name"
SortExpression
=
"TenantName"
UniqueName
=
"TenantName"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"PartnerID"
DataType
=
"System.Int32"
HeaderText
=
"PartnerID"
SortExpression
=
"PartnerID"
UniqueName
=
"PartnerID"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"TenantClassification1"
HeaderText
=
"Company Size"
SortExpression
=
"TenantClassification1"
UniqueName
=
"TenantClassification1"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"TenantClassification2"
HeaderText
=
"Industry Sector"
SortExpression
=
"TenantClassification2"
UniqueName
=
"TenantClassification2"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"TenantClassification3"
HeaderText
=
"Location"
SortExpression
=
"TenantClassification3"
UniqueName
=
"TenantClassification3"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ReportStatus"
DataType
=
"System.Byte"
HeaderText
=
"Status"
SortExpression
=
"ReportStatus"
UniqueName
=
"ReportStatus"
AllowFiltering
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridNumericColumn
Groupable
=
"false"
NumericType
=
"Percent"
DataFormatString
=
"{0:#%}"
DataField
=
"Score"
DataType
=
"System.Decimal"
HeaderText
=
"Score"
SortExpression
=
"Score"
UniqueName
=
"Score"
ItemStyle-Width
=
"70px"
FilterControlWidth
=
"22px"
>
</
telerik:GridNumericColumn
>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
AllowDragToGroup
=
"True"
EnableAlternatingItems
=
"false"
EnableRowHoverStyle
=
"true"
>
</
ClientSettings
>
<
ExportSettings
ExportOnlyData
=
"true"
FileName
=
"MyFile"
Excel-Format
=
"Html"
OpenInNewWindow
=
"true"
HideStructureColumns
=
"true"
IgnorePaging
=
"true"
/>
</
telerik:RadGrid
>
<
script
type
=
"text/javascript"
>
function onRequestStart(sender, args) {
if (args.get_eventTarget().indexOf("ExportToExcelButton") >= 0 ||
args.get_eventTarget().indexOf("ExportToWordButton") >= 0 ||
args.get_eventTarget().indexOf("ExportToCsvButton") >= 0) {
args.set_enableAjax(false);
}
}
</
script
>
<
asp:SqlDataSource
ID
=
"SqlDataSource1"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:SiteSqlServer %>" SelectCommand="SELECT dbo.__FFTenant.TenantID, dbo.__FFTenant.TenantName, dbo.__FFTenant.PartnerID, dbo.__FFTenant.TenantClassification1, dbo.__FFTenant.TenantClassification2, dbo.__FFTenant.TenantClassification3, dbo._FFFrameworkReport.ReportStatus, dbo._FFFrameworkReport.Score FROM dbo._FFFrameworkReport INNER JOIN dbo.__FFTenant ON dbo._FFFrameworkReport.TenantID = dbo.__FFTenant.TenantID WHERE (dbo.__FFTenant.PartnerID = @UserIsPartnerTenantID) ORDER BY dbo.__FFTenant.TenantName">
<
SelectParameters
>
<
asp:SessionParameter
Name
=
"UserIsPartnerTenantID"
SessionField
=
"UserIsPartnerTenantID"
/>
</
SelectParameters
>
</
asp:SqlDataSource
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
asp:HyperLink
ID
=
"lnkCompanyReports"
CssClass
=
"FFLinkCommand"
runat
=
"server"
><
img
src="<%= skinpath %>images/_FFgoback.png" class="FFImgCommand" />Go to the Company Reports Page</
asp:HyperLink
>
</
td
>
</
tr
>
</
table
>
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
DotNetNuke.Entities.Modules;
using
Telerik.Web.UI;
using
Revd.Common.Utilities;
using
Revd.DataAccess;
namespace
RevolutionId.Modules.Managers
{
public
partial
class
CompanyReports_Scoreboard : PortalModuleBase
{
public
static
string
skinpath =
""
;
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!IsPostBack)
{
SessionService.UserIsPartnerTenantID = 30;
skinpath =
base
.PortalSettings.ActiveTab.SkinPath;
lnkCompanyReports.NavigateUrl = _DataUtilities.GetURL_General(
""
,
""
, 0, _DataUtilities.PageNames.CompanyReports);
}
}
protected
void
RadGrid1_ItemDataBound(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridDataItem)
{
GridDataItem gridItem = (GridDataItem)e.Item;
if
(!e.Item.IsInEditMode)
{
int
myValue = Convert.ToInt32(DataBinder.Eval(gridItem.DataItem,
"ReportStatus"
));
if
(myValue == 0)
{
gridItem[
"ReportStatus"
].Text =
"Work in Progress"
;
}
else
if
(myValue == 1)
{
gridItem[
"ReportStatus"
].Text =
"Completed"
;
}
else
{
gridItem[
"ReportStatus"
].Text =
"Don't know"
;
}
}
}
}
protected
void
RadGrid1_Exporting(
object
source, Telerik.Web.UI.GridExportingArgs e)
{
try
{
}
catch
(Exception ex)
{
DisplayMessage(
"Problem occurred. Reason: "
+ ex.Message);
}
}
protected
void
RadGrid1_ItemCommand(
object
source, Telerik.Web.UI.GridCommandEventArgs e)
{
try
{
if
(e.CommandName ==
"PerformInsert"
)
{
}
}
catch
(Exception ex)
{
DisplayMessage(
"Problem occurred. Reason: "
+ ex.Message);
}
}
private
void
DisplayMessage(
string
text)
{
RadGrid1.Controls.Add(
new
LiteralControl(text));
}
}
}
An unhandled exception was generated during the execution of the
current web request. Information regarding the origin and location of the
exception can be identified using the exception stack trace below.
|
[ArgumentNullException: Value cannot be null. Parameter name: key] System.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument) +44 System.Collections.Generic.Dictionary`2.FindEntry(TKey key) +7457569 System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value) +16 Telerik.Web.UI.RadScheduler.ProcessTimeSlotContextMenuItemCommand(SchedulerPostBackEvent postBack) +106 Telerik.Web.UI.RadScheduler.ProcessPostBackCommand(SchedulerPostBackEvent postBack) +4638 Telerik.Web.UI.RadScheduler.RaisePostBackEvent(String eventArgument) +108 Telerik.Web.UI.RadScheduler.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +39 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565 |