or
public
DataTable SelectMethod(
string
filterExpression,
string
sortExpression,
string
strDoctype,
int
maximumRows,
int
startRowIndex)
{
DataTable oTable =
new
DataTable();
Doctype oDoctype =
new
Doctype();
bool
bSuccess =
true
;
Hashtable oInfo =
new
Hashtable();
try
{
oDoctype = DoctypeADO.Retrieve_byDoctypeID(strDoctype);
}
catch
{
bSuccess =
false
;
}
if
(bSuccess)
{
oTable.Columns.Add(
"DocumentID"
,
typeof
(String));
oTable.Columns.Add(
"DoctypeID"
,
typeof
(String));
XmlDocument oDoc =
new
XmlDocument();
oDoc.LoadXml(oDoctype.DoctypeXML);
foreach
(XmlNode oNode
in
oDoc.DocumentElement)
{
oInfo.Add(oNode.Name, oNode.ChildNodes[0].InnerText);
}
ICollection oColl = oInfo.Keys;
List<
string
> oBuilder =
new
List<
string
>();
foreach
(
string
strkey
in
oColl)
{
string
type =
string
.Empty;
switch
(oInfo[strkey].ToString())
{
case
"Boolean"
:
{
type =
"Bit"
;
oTable.Columns.Add(strkey,
typeof
(Boolean));
break
;
}
case
"Byte"
:
{
type =
"smallint"
;
oTable.Columns.Add(strkey,
typeof
(Byte));
break
;
}
case
"DateTime"
:
{
type =
"datetime"
;
oTable.Columns.Add(strkey,
typeof
(DateTime));
break
;
}
case
"Double"
:
{
type =
"decimal"
;
oTable.Columns.Add(strkey,
typeof
(Double));
break
;
}
case
"Int16"
:
{
type =
"smallint"
;
oTable.Columns.Add(strkey,
typeof
(Int16));
break
;
}
case
"Int32"
:
{
type =
"int"
;
oTable.Columns.Add(strkey,
typeof
(Int32));
break
;
}
case
"Single"
:
{
type =
"decimal"
;
oTable.Columns.Add(strkey,
typeof
(Single));
break
;
}
case
"String"
:
{
type =
"varchar(100)"
;
oTable.Columns.Add(strkey,
typeof
(String));
break
;
}
default
: {
break
; }
}
oBuilder.Add(
"document_xml.value('(//Fields/"
+ strkey +
"/Value)[1]','"
+ type +
"') as "
+ strkey);
}
string
strQuery = @"select
document_id
as
DocumentID,
doctype_id
as
DoctypeID,
" + String.Join("
,", oBuilder.ToArray()) +
@" from ( select row_number() over (order by document_id asc)
as
rownumber, *
from cs_document
where doctype_id = @doc_id
)
as
test
where ROWNUMBER between @nStart+1 and @nEnd";
strQuery = AddFilter_Sorting(strQuery, filterExpression, sortExpression);
oCommand =
new
SqlCommand(strQuery);
oCommand.Parameters.Add(
new
SqlParameter
{
DbType = DbType.String,
ParameterName =
"doc_id"
,
Value = strDoctype
});
oCommand.Parameters.Add(
new
SqlParameter
{
DbType = DbType.Int32,
ParameterName =
"nStart"
,
Value = startRowIndex
});
oCommand.Parameters.Add(
new
SqlParameter
{
DbType = DbType.Int32,
ParameterName =
"nEnd"
,
Value = startRowIndex + maximumRows
});
oCommand.Connection = oConnection;
try
{
oConnection.Open();
oReader = oCommand.ExecuteReader();
while
(oReader.Read())
{
object
[] data =
new
object
[oTable.Columns.Count];
for
(
int
i = 0; i < oTable.Columns.Count; i++)
{
data[i] = oReader[oTable.Columns[i].ColumnName];
}
DataRow oRow = oTable.NewRow();
oRow.ItemArray = data;
oTable.Rows.Add(oRow);
}
}
catch
(Exception ex)
{
throw
ex;
}
}
return
oTable;
}
protected void ObjectDataSource1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
e.InputParameters["filterExpression"] = RadGrid1.MasterTableView.FilterExpression;
e.InputParameters["sortExpression"] = RadGrid1.MasterTableView.SortExpressions.GetSortString();
}
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
Width
=
"100%"
GridLines
=
"None"
AllowPaging
=
"true"
AutoGenerateColumns
=
"true"
AllowFilteringByColumn
=
"false"
PageSize
=
"10"
AllowSorting
=
"true"
Skin
=
"Outlook"
DataSourceID
=
"ObjectDataSource1"
>
<
MasterTableView
AllowCustomSorting
=
"true"
OverrideDataSourceControlSorting
=
"true"
>
<
CommandItemSettings
ExportToPdfText
=
"Export to Pdf"
></
CommandItemSettings
>
<
Columns
>
<
telerik:GridTemplateColumn
UniqueName
=
"Uniq"
HeaderText
=
"Check"
AllowFiltering
=
"False"
>
<
ItemTemplate
>
<
asp:CheckBox
ID
=
"check"
runat
=
"server"
/>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
<
HeaderStyle
VerticalAlign
=
"Middle"
/>
<
ItemStyle
VerticalAlign
=
"Middle"
/>
<
FilterItemStyle
VerticalAlign
=
"Middle"
/>
</
MasterTableView
>
</
telerik:RadGrid
>
<
asp:ObjectDataSource
ID
=
"ObjectDataSource1"
TypeName
=
"WebApplication1.DatabaseHandle.ObjectSource"
EnablePaging
=
"true"
SelectMethod
=
"SelectMethod"
SelectCountMethod
=
"MySelectCount"
runat
=
"server"
OnSelecting
=
"ObjectDataSource1_Selecting"
>
<
SelectParameters
>
<
asp:Parameter
Name
=
"filterExpression"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"sortExpression"
Type
=
"String"
/>
<
asp:ControlParameter
ControlID
=
"hidden_doctype"
DbType
=
"String"
PropertyName
=
"Value"
Name
=
"strDoctype"
/>
</
SelectParameters
>
</
asp:ObjectDataSource
>
The control collection cannot be modified during DataBind, Init, Load, PreRender or Unload phases.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.HttpException: The control collection cannot be modified during DataBind, Init, Load, PreRender or Unload phases.
Source Error:
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.
Stack Trace:
[HttpException (0x80004005): The control collection cannot be modified during DataBind, Init, Load, PreRender or Unload phases.]
System.Web.UI.ControlCollection.Add(Control child) +8680983
Telerik.Web.UI.GridDateTimeColumn.GetSharedCalendar() +192
Telerik.Web.UI.GridDateTimeColumn.SetupFilterControls(TableCell cell) +2169
Telerik.Web.UI.GridColumn.InitializeCell(TableCell cell, Int32 columnIndex, GridItem inItem) +5498
Telerik.Web.UI.GridBoundColumn.InitializeCell(TableCell cell, Int32 columnIndex, GridItem inItem) +50
Telerik.Web.UI.GridItem.Initialize(GridColumn[] columns) +142
Telerik.Web.UI.GridItem.SetupItem(Boolean dataBind, Object dataItem, GridColumn[] columns, ControlCollection rows) +939
Telerik.Web.UI.GridTableView.CreateFilteringItem(Boolean useDataSource, GridColumn[] copiedColumnSet, GridTHead thead) +146
Telerik.Web.UI.GridTableView.CreateControlHierarchy(Boolean useDataSource) +1495
Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource) +777
System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) +57
System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) +114
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +31
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +142
Telerik.Web.UI.GridTableView.PerformSelect() +38
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +73
Telerik.Web.UI.GridTableView.DataBind() +351
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
System.Web.UI.WebControls.BaseDataBoundControl.OnPreRender(EventArgs e) +22
Telerik.Web.UI.GridTableView.OnPreRender(EventArgs e) +57
System.Web.UI.Control.PreRenderRecursiveInternal() +80
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +842
<
telerik:RadGrid
ID
=
"RadGrid2"
runat
=
"server"
ShowStatusBar
=
"true"
AutoGenerateColumns
=
"False"
AllowSorting
=
"True"
skin
=
"Windows7"
>
<
MasterTableView
DataKeyNames
=
"DepartmentID"
>
<%--I want to put a link here--%>
<
DetailTables
>
<
telerik:GridTableView
Name
=
"DetailsGrid"
>
<
Columns
>
<
telerik:GridBoundColumn
SortExpression
=
"PersonName"
HeaderText
=
"Person Name"
DataField
=
"PersonName"
></
telerik:GridBoundColumn
>
</
Columns
>
</
telerik:GridTableView
>
</
DetailTables
>
<
Columns
>
<
telerik:GridBoundColumn
SortExpression
=
"DepartmentName"
HeaderText
=
"Department Name"
DataField
=
"DepartmentName"
></
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
<%@ Register Src=
"../Modules/Controls/nav.ascx"
TagName=
"Navigation"
TagPrefix=
"uc1"
%>
...
<uc1:Navigation ID=
"Navigation"
runat=
"server"
/>
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="nav.ascx.vb" Inherits="Modules_Controls_nav" %>
<
div
id
=
"nav"
runat
=
"server"
class
=
"navigation"
>
<!-- Inner Content Goes here -->
</
div
>
Protected
Sub
Page_Load(
ByVal
sender
As
Object
,
ByVal
e
As
System.EventArgs)
Handles
Me
.Load
Dim
oNavigation
As
Modules_Controls_nav =
DirectCast
(
Me
.Master.Controls(0).FindControl(
"Navigation"
), Modules_Controls_nav)
RadAjaxManager.AjaxSettings.AddAjaxSetting(rgdProductList, oNavigation)
Dim
oNav
As
HtmlGenericControl =
DirectCast
(
Me
.Master.Controls(0).FindControl(
"Navigation"
).FindControl(
"nav"
), HtmlGenericControl)
RadAjaxManager.AjaxSettings.AddAjaxSetting(rgdProductList, oNav)
End
Sub
<
telerik:RadEditor
Width
=
"99%"
SpellCheckSettings-DictionaryPath
=
"~/App_files/RadSpell"
ID
=
"editor"
EditModes
=
"Design"
StripFormattingOptions
=
"Span, Font, Css, MSWordRemoveAll"
NewLineBr
=
"false"
runat
=
"server"
>
<
CssFiles
>
<
telerik:EditorCssFile
Value
=
"~/styles/userControls/editorDefaults.css"
/>
</
CssFiles
>
</
telerik:RadEditor
>