or
function
showRadWindow() {
window.radopen(
"SamplePage.aspx"
,
"sampleWindow"
);
return
false
;
}
function
AddHelpIcon(radWindow) {
var
radWindowDom = document.getElementById(radWindow.get_id());
var
TitleBar = radWindow.GetTitlebar();
var
parent = TitleBar.parentNode;
var
oUL = parent.getElementsByTagName(
'UL'
);
var
oLI = oUL[0].getElementsByTagName(
'LI'
);
//Get the unordered list html element
if
(oLI[0].id !=
"HelpListItem"
) {
//If first (list item) does not have the id of "HelpListItem"
var
newLI = oLI[0].cloneNode(
true
);
var
newA = newLI.getElementsByTagName(
'a'
);
//html anchor
oUL[0].style.width =
"93px"
;
//width of titlebar
newA[0].className =
"helpbutton"
;
//class inside .css file
newA[0].title =
"Help Button"
;
newA[0].lastChild.innerHTML =
"Help Button"
;
newA[0].onmousedown = callHelpFunction;
if
(radWindowDom.attributes[
"HelpId"
] !=
null
) {
newA[0].setAttribute(
"helpId"
, radWindowDom.attributes[
"HelpId"
].value);
}
oUL[0].insertBefore(newLI, oLI[0]);
oLI[0].id =
"HelpListItem"
;
//Name the first (list item) ID to "HelpListItem"
}
}
function
callHelpFunction(e) {
//Do something
//Cancel event!
if
(!e) e = window.event;
return
$telerik.cancelRawEvent(e);
}
<asp:Button Id=
"button1"
runat=
"server"
Text=
"Open Rad Window2"
OnClientClick=
"showRadWindow(); return false;"
/>
<telerik:RadWindowManager id=
"radWindowManager"
runat=
"server"
>
<windows>
<telerik:RadWindow
id=
"notesWindow"
Runat=
"server"
Behaviors=
"Close, Move, Resize, Maximize"
ReloadOnShow=
"true"
VisibleStatusbar=
"true"
ShowContentDuringLoad=
"false"
Width=
"440px"
Height=
"440px"
Left=
"250px"
Modal=
"true"
EnableEmbeddedSkins=
"false"
Skin=
"mySkin"
EnableEmbeddedBasestylesheet=
"false"
OnClientShow=
"AddHelpIcon"
>
</telerik:RadWindow>
</windows>
</telerik:RadWindowManager>
I have a grid that is working fine, the problem is, when I put it inside RadAjaxPanel, I click
add new record, the insert open successfully, I enter the values and click insert the RadGrid_InsertCommand
does not get invoked, and the grid shows empty again...
When I remove it from RadAjaxPanel it works normally..
Any pointers to this behavior ??
<
telerik:radgrid
ID
=
"radgrid_Languages"
runat
=
"server"
Skin
=
"Office2007"
GridLines
=
"None"
AllowPaging
=
"True"
AllowSorting
=
"True"
AutoGenerateColumns
=
"False"
Width
=
"97%"
OnNeedDataSource
=
"RadGrid_NeedDataSource"
OnDeleteCommand
=
"RadGrid_DeleteCommand"
OnInsertCommand
=
"RadGrid_InsertCommand"
OnUpdateCommand
=
"RadGrid_UpdateCommand"
EnableAJAX
=
"True"
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
></
PagerStyle
>
<
MasterTableView
DataKeyNames
=
"ID"
GridLines
=
"None"
Width
=
"100%"
CommandItemDisplay
=
"Top"
>
<
CommandItemSettings
ExportToPdfText
=
"Export to Pdf"
AddNewRecordText
=
"Add new language"
></
CommandItemSettings
>
<
Columns
>
<
telerik:GridEditCommandColumn
>
</
telerik:GridEditCommandColumn
>
<
telerik:GridDropDownColumn
DataField
=
"LanguageID"
DataSourceID
=
"lds_Languages"
HeaderText
=
"Language"
ListTextField
=
"LanguageName"
ListValueField
=
"ID"
UniqueName
=
"LanguageID"
>
</
telerik:GridDropDownColumn
>
<
telerik:GridDropDownColumn
DataField
=
"ReadLevelID"
DataSourceID
=
"lds_ProficiencyLevels"
HeaderText
=
"Read"
ListTextField
=
"LevelName"
ListValueField
=
"ID"
UniqueName
=
"ReadLevelID"
>
</
telerik:GridDropDownColumn
>
<
telerik:GridDropDownColumn
DataField
=
"WriteLevelID"
DataSourceID
=
"lds_ProficiencyLevels"
HeaderText
=
"Written"
ListTextField
=
"LevelName"
ListValueField
=
"ID"
UniqueName
=
"WriteLevelID"
>
</
telerik:GridDropDownColumn
>
<
telerik:GridDropDownColumn
DataField
=
"SpeakLevelID"
DataSourceID
=
"lds_ProficiencyLevels"
HeaderText
=
"Spoken"
ListTextField
=
"LevelName"
ListValueField
=
"ID"
UniqueName
=
"SpeakLevelID"
>
</
telerik:GridDropDownColumn
>
<
telerik:GridButtonColumn
CommandName
=
"Delete"
Text
=
"Delete"
UniqueName
=
"Delete"
ConfirmText
=
"Are you sure you want to delete ?"
ConfirmTitle
=
"Alert"
>
</
telerik:GridButtonColumn
>
</
Columns
>
<
EditFormSettings
>
<
EditColumn
UniqueName
=
"EditCommandColumn1"
>
</
EditColumn
>
<
FormStyle
BackColor
=
"#EEF2EA"
Width
=
"100%"
></
FormStyle
>
<
FormTableStyle
CellPadding
=
"2"
CellSpacing
=
"0"
></
FormTableStyle
>
<
FormTableItemStyle
Height
=
"29px"
Width
=
"100%"
></
FormTableItemStyle
>
</
EditFormSettings
>
<
ExpandCollapseColumn
Visible
=
"False"
>
<
HeaderStyle
Width
=
"19px"
></
HeaderStyle
>
</
ExpandCollapseColumn
>
<
NoRecordsTemplate
>
<
table
style
=
"width: 100%;height:100px"
>
<
tr
>
<
td
>
Please add your languages proficiency<
br
/>
<
br
/>
(Indicate Very Good , Good , Average , Weak )
</
td
>
</
tr
>
</
table
>
</
NoRecordsTemplate
>
<
RowIndicatorColumn
Visible
=
"False"
>
<
HeaderStyle
Width
=
"20px"
/>
</
RowIndicatorColumn
>
</
MasterTableView
>
</
telerik:radgrid
>
<
telerik:RadGrid
CssClass
=
"telerikrid"
ID
=
"CommentsGrid1"
runat
=
"server"
GridLines
=
"None"
Width
=
"100%"
ShowGroupPanel
=
"False"
AllowSorting
=
"True"
Skin
=
"Windows7"
OnNeedDataSource
=
"Comments1_NeedDataSource"
Font-Size
=
"7"
>
<
MasterTableView
RetrieveAllDataFields
=
"true"
AutoGenerateColumns
=
"False"
>
<
DetailTables
>
<
telerik:GridTableView
>
<
ParentTableRelation
>
<
telerik:GridRelationFields
DetailKeyField
=
"JdeSite"
MasterKeyField
=
"JdeSite"
/>
</
ParentTableRelation
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"JdeSite"
HeaderText
=
"Site"
/>
<
telerik:GridBoundColumn
DataField
=
"Type"
HeaderText
=
"Type"
/>
<
telerik:GridBoundColumn
DataField
=
"OwnerName"
HeaderText
=
"Owner"
/>
</
Columns
>
</
telerik:GridTableView
>
</
DetailTables
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"JdeSite"
HeaderText
=
"Site"
/>
<
telerik:GridBoundColumn
DataField
=
"JdeCode"
HeaderText
=
"JDE Site"
/>
<
telerik:GridBoundColumn
DataField
=
"TradingName"
HeaderText
=
"Trading Name"
/>
<
telerik:GridBoundColumn
DataField
=
"BookingStartDate"
HeaderText
=
"Booking Start Date"
/>
<
telerik:GridBoundColumn
DataField
=
"BookingEndDate"
HeaderText
=
"Booking End Date"
/>
<
telerik:GridBoundColumn
DataField
=
"Comments"
HeaderText
=
"Comments"
/>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
public
class
Comment
{
public
string
OptyRowId {
get
;
set
; }
public
int
WeekNo {
get
;
set
; }
public
string
JdeSite {
get
;
set
; }
public
string
JdeCode {
get
;
set
; }
public
string
TradingName {
get
;
set
; }
public
DateTime BookingStartDate {
get
;
set
; }
public
DateTime BookingEndDate {
get
;
set
; }
public
string
Comments {
get
;
set
; }
public
List<Activity> ActivityList {
get
;
set
; }
}
public
class
Activity
{
public
string
JdeSite {
get
;
set
; }
public
string
Type {
get
;
set
; }
public
string
OwnerName {
get
;
set
; }
}
<
telerik:RadComboBox
ID
=
"LabsDDL"
runat
=
"server"
AutoPostBack
=
"True"
DataSourceID
=
"dsLabs"
DataTextField
=
"Name"
DataValueField
=
"DataSourceID"
Width
=
"250px"
Height
=
"150px"
Skin
=
"Outlook"
>
</
telerik:RadComboBox
>
</
br
></
br
>
<
asp:UpdatePanel
ID
=
"UpdatePanel1"
runat
=
"server"
UpdateMode
=
"Conditional"
>
<
ContentTemplate
>
<
asp:PlaceHolder
ID
=
"PlaceHolder1"
runat
=
"server"
></
asp:PlaceHolder
>
</
ContentTemplate
>
</
asp:UpdatePanel
>
Here's my vb code:
Protected
Sub
LabsDDL_SelectedIndexChanged(
ByVal
o
As
Object
,
ByVal
e
As
Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs)
Handles
LabsDDL.SelectedIndexChanged
BuildGrids(LabsDDL.SelectedItem.Value)
End
Sub
Protected
Overrides
Sub
OnInit(
ByVal
e
As
EventArgs)
PlaceHolder1.Controls.Clear()
End
Sub
Protected
Sub
BuildGrids(
ByVal
LabID
As
Integer
)
Dim
conn
As
New
SqlConnection(ConfigurationManager.ConnectionStrings(
"StagingConnectionString"
).ConnectionString)
Dim
cmd
As
New
SqlCommand()
cmd.Connection = conn
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText =
"spLookupChecksNew"
'Create and add a parameter to Parameters collection for the stored procedure.
cmd.Parameters.Add(
New
SqlParameter(
"@Lab"
, SqlDbType.Int))
'Assign the search value to the parameter.
cmd.Parameters(
"@Lab"
).Value = LabID
Dim
da
As
SqlDataAdapter =
New
SqlDataAdapter(cmd)
Dim
ds
As
New
DataSet()
ds.Clear()
ds.Tables.Clear()
da.Fill(ds)
Dim
i
As
Integer
i = 0
'This will fill dataset with three tables.
For
Each
DataTable
In
ds.Tables
If
ds.Tables(i).Rows.Count > 0
Then
Dim
myConn
As
New
SqlConnection(ConfigurationManager.ConnectionStrings(
"StagingConnectionString"
).ConnectionString)
myConn.Open()
Dim
CheckID
As
Integer
Dim
CheckName
As
String
Dim
CheckType
As
Integer
Dim
ColumnName
As
String
Dim
AssociatedTable
As
String
Dim
ParmDefinition
As
String
CheckID =
CInt
(ds.Tables(i).Rows(0)(0))
Dim
cmdOptions
As
New
SqlCommand(
"spGetCheckOptions"
, myConn)
cmdOptions.CommandType = CommandType.StoredProcedure
cmdOptions.Parameters.AddWithValue(
"@CheckID"
, CheckID.ToString)
Dim
reader
As
SqlDataReader = cmdOptions.ExecuteReader()
While
reader.Read
If
(IsDBNull(reader(0)))
Then
CheckName =
""
Else
CheckName = reader(0).ToString()
End
If
If
(IsDBNull(reader(1)))
Then
CheckType = 0
Else
CheckType = reader(1)
End
If
If
(IsDBNull(reader(2)))
Then
ColumnName =
""
Else
ColumnName = reader(2).ToString()
End
If
If
(IsDBNull(reader(3)))
Then
AssociatedTable =
""
Else
AssociatedTable = reader(3).ToString()
End
If
If
(IsDBNull(reader(5)))
Then
ParmDefinition =
""
Else
ParmDefinition = reader(5).ToString()
End
If
End
While
reader.Close()
cmdOptions.Dispose()
myConn.Close()
myConn.Dispose()
Dim
myGridView
As
New
RadGrid
myGridView =
New
RadGrid()
Dim
lblMessage
As
New
Literal
Try
Dim
ltrTableStart
As
New
Literal
ltrTableStart.Text =
"<table><tr><td>"
Dim
ltrTableEnd
As
New
Literal
ltrTableEnd.Text =
"</tr></td></table>"
Dim
literalheader
As
New
Literal
literalheader.Text =
"<div class='AutoShrink'><h5>"
& CheckName &
"</h5>"
Dim
literalfooter
As
New
Literal
literalfooter.Text =
"</div>"
myGridView.EnableViewState =
False
myGridView.DataSource = ds.Tables(i)
Select
Case
CheckType
Case
1
Dim
templateColumnName
As
String
= ColumnName
Dim
templateColumn
As
New
GridTemplateColumn()
templateColumn.ItemTemplate =
New
MyTemplate(templateColumnName, LabsDDL.SelectedValue)
templateColumn.HeaderText =
"Map value"
'templateColumnName
templateColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Center
templateColumn.ItemStyle.VerticalAlign = VerticalAlign.Middle
myGridView.Columns.Add(templateColumn)
End
Select
Dim
viewColumnName
As
String
= ColumnName
Dim
viewColumn
As
New
GridTemplateColumn()
viewColumn.ItemTemplate =
New
ViewTemplate(viewColumnName, LabsDDL.SelectedValue, ParmDefinition)
viewColumn.HeaderText =
"View Records"
'viewColumnName
viewColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Center
viewColumn.ItemStyle.VerticalAlign = VerticalAlign.Middle
myGridView.Columns.Add(viewColumn)
myGridView.ID =
"rgErrors"
& i.ToString
myGridView.Skin =
"Outlook"
myGridView.CssClass =
"AutoShrink"
myGridView.MasterTableView.TableLayout = GridTableLayout.
Auto
myGridView.MasterTableView.CssClass =
"AutoShrink"
myGridView.ClientSettings.Resizing.ClipCellContentOnResize =
True
myGridView.DataBind()
PlaceHolder1.Controls.Add(ltrTableStart)
PlaceHolder1.Controls.Add(literalheader)
PlaceHolder1.Controls.Add(myGridView)
PlaceHolder1.Controls.Add(literalfooter)
PlaceHolder1.Controls.Add(ltrTableEnd)
myConn.Close()
myConn.Dispose()
myGridView.MasterTableView.Dispose()
myGridView.Dispose()
Catch
ex
As
Exception
lblMessage.Text =
"<h5 style="
"color: red"
">Error building grid: "
& CheckName &
" (MESSAGE:"
& ex.Message.ToString &
")</h5>"
PlaceHolder1.Controls.Add(lblMessage)
End
Try
End
If
i = i + 1
Next
cmd.Dispose()
conn.Close()
conn.Dispose()
End
Sub
[ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index]
System.Collections.ArrayList.get_Item(Int32 index) +7485640
Telerik.Web.UI.GridColumnCollection.System.Web.UI.IStateManager.SaveViewState() +215
Telerik.Web.UI.GridTableView.GetStructureState() +257
Telerik.Web.UI.RadGrid.SaveTableViewStructure(ArrayList stateList, GridTableView tableView) +81
Telerik.Web.UI.RadGrid.SaveViewState() +128
System.Web.UI.Control.SaveViewStateRecursive() +187
System.Web.UI.Control.SaveViewStateRecursive() +106
System.Web.UI.Control.SaveViewStateRecursive() +106
System.Web.UI.Control.SaveViewStateRecursive() +106
System.Web.UI.Control.SaveViewStateRecursive() +106
System.Web.UI.Control.SaveViewStateRecursive() +106
System.Web.UI.Control.SaveViewStateRecursive() +106
System.Web.UI.Control.SaveViewStateRecursive() +106
System.Web.UI.Page.SaveAllState() +168
System.Web.UI.Page.ProcessRequestMain(
Boolean
includeStagesBeforeAsyncPoint,
Boolean
includeStagesAfterAsyncPoint) +1099