<telerik:RadPageView ID="RadPageView4" runat="server"> <div style="padding-right: 10px; padding-left: 10px;"> <br /> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" BorderStyle="Solid"> <asp:Label ID="Label2" runat="server" ForeColor="Red">Loading... </asp:Label> <br /> <asp:Image ID="Image1" runat="server" ImageUrl="WebBlue\Ajax\WebBlue.gif" /> </telerik:RadAjaxLoadingPanel> <asp:Panel ID="Panel1" runat="server"> <table cellspacing="2px" cellpadding="0px"> <tr> <td colspan="2"> <asp:Label ID="lblGrade" runat="server"> Grade:</asp:Label> </td> </tr> <tr> <td> <label for="txtComment1"> Comment 1:</label> <br /> <telerik:RadTextBox ID="txtComment1" runat="server" TextMode="MultiLine" Rows="5" Columns="6" Height="50px" ReadOnly="true" Width="320px" Skin="WebBlue"/> <br /> </td> <td> <label for="txtTarget1"> Target 1:</label> <br /> <telerik:RadTextBox ID="txtTarget1" runat="server" TextMode="MultiLine" Rows="5" Columns="6" Height="50px" ReadOnly="true" Width="320px" Skin="WebBlue"/> </td> </tr> <tr> <td> <label for="txtComment2"> Comment 2:</label> <br /> <telerik:RadTextBox ID="txtComment2" runat="server" TextMode="MultiLine" Rows="5" Columns="6" Height="50px" Width="320px" Skin="WebBlue"> </telerik:RadTextBox> </td> <td> <label for="txtTarget2"> Target 2:</label> <br /> <telerik:RadTextBox ID="txtTarget2" runat="server" TextMode="MultiLine" Rows="5" Columns="6" Height="50px" Width="320px" Skin="WebBlue" /> </td> </tr> <tr> </tr> </table> </asp:Panel> <br /> <telerik:RadGrid ID="RadGridReviews" runat="server" AutoGenerateColumns="False" Skin="WebBlue" OnItemCommand="OnSelectRecords" Width="400px"> <MasterTableView ShowFooter="true" DataKeyNames="qualcode"> <RowIndicatorColumn Visible="true" UniqueName="RowIndicator"> <HeaderStyle Width="20px" BackColor="LightSkyBlue" /> </RowIndicatorColumn> <Columns> <telerik:GridBoundColumn DataField="reference" Visible="False" UniqueName="ColumnRef"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="qualcode" HeaderText="Qualification" ItemStyle-Width="100"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="classcode" HeaderText="Class" ItemStyle-Width="150" UniqueName="ColumnClass"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="review" HeaderText="Review" UniqueName="ColumnReview" ItemStyle-Width="100"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="attainment_grade" Visible="False" UniqueName="ColumnGrade"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="comment1" Visible="False" UniqueName="ColumnComment1"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="comment2" Visible="False" UniqueName="ColumnComment2"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="target1" Visible="False" UniqueName="ColumnTarget1"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="target2" Visible="False" UniqueName="ColumnTarget2"> </telerik:GridBoundColumn> </Columns> </MasterTableView> <ClientSettings EnableRowHoverStyle="true" EnablePostBackOnRowClick="true"> <Selecting AllowRowSelect="true" /> </ClientSettings>when i was doing client side paging and changed the page size in the radgrid at runtime, it is throwing error at
var link = item.get_cell(“Project”).getElementsByTagName(“a”)[0]; as
Uncaught TypeError: Cannot set property ‘innerHTML’ of undefined.
I totally have 3 rows to be binded in the grid. If i set pagesize in the aspx as 10 and then change the pagesize at run time to 20 it works.
But if i set the pagesize in aspx as 1 and later change the pagesize in the runtime to 10 it’s not work.
gesize in aspx as 1 and later change the pagesize in the runtime to 10 it’s not work.
aspx:
ASPX:
<telerik:RadGrid ID="RadGrid1" Skin="Office2007" runat="server"
GridLines="None" AllowPaging="true" AllowSorting="true" AutoGenerateColumns="false" PageSize="1">
<ClientSettings>
<ClientEvents OnCommand="RadGrid1_Command" OnRowDataBound="OpenSurveys_OnRowDataBound" />
</ClientSettings>
<MasterTableView>
<Columns>
<telerik:GridBoundColumn DataField="ProjectID" HeaderText="ProjectID" Visible="False" />
<telerik:GridBoundColumn DataField="SurveyPriority" HeaderText ="Priority" DataType="System.String"/>
<telerik:GridHyperLinkColumn DataTextField="SurveyName" DataNavigateUrlFields="SurveyName"
UniqueName="Name" HeaderText="Name" ItemStyle-Font-Underline="true" />
<telerik:GridBoundColumn DataField="SurveyCompletionStatusForPanelist" HeaderText="Completion Status" DataType="System.String" />
<telerik:GridBoundColumn DataField="SurveyClosingDate" HeaderText="Due Date" DataFormatString="{0:d}"/>
<telerik:GridBoundColumn DataField="AdditionalInfo" HeaderText ="Additional Information" />
</Columns>
</MasterTableView>
<PagerStyle AlwaysVisible="true" />
</telerik:RadGrid>
CS:
function OpenSurveys_OnRowDataBound(sender, args)
{
console.log("hyperlink");
// manually set the hyperlink's title
var item = args.get_item();
var dataItem = args.get_dataItem();
var link = item.get_cell("Name").getElementsByTagName("a")[0];
console.log("item,dataItem,link",item,dataItem,link);
link.innerHTML = dataItem.SurveyName;
link.href = dataItem.SurveyURL;
}
when i was doing client side paging and changed the page size in the radgrid at runtime, it is throwing error at
var link = item.get_cell(“Project”).getElementsByTagName(“a”)[0]; as
Uncaught TypeError: Cannot set property ‘innerHTML’ of undefined.
I totally have 3 rows to be binded in the grid. If i set pagesize in the aspx as 10 and then change the pagesize at run time to 20 it works.
But if i set the pagesize in aspx as 1 and later change the pagesize in the runtime to 10 it’s not working.
ASPX:
<telerik:RadGrid ID="RadGrid1" Skin="Office2007" runat="server"
GridLines="None" AllowPaging="true" AllowSorting="true" AutoGenerateColumns="false" PageSize="1">
<ClientSettings>
<ClientEvents OnCommand="RadGrid1_Command" OnRowDataBound="OpenSurveys_OnRowDataBound" />
</ClientSettings>
<MasterTableView>
<Columns>
<telerik:GridBoundColumn DataField="ProjectID" HeaderText="ProjectID" Visible="False" />
<telerik:GridBoundColumn DataField="SurveyPriority" HeaderText ="Priority" DataType="System.String"/>
<telerik:GridHyperLinkColumn DataTextField="SurveyName" DataNavigateUrlFields="SurveyName"
UniqueName="Name" HeaderText="Name" ItemStyle-Font-Underline="true" />
<telerik:GridBoundColumn DataField="SurveyCompletionStatusForPanelist" HeaderText="Completion Status" DataType="System.String" />
<telerik:GridBoundColumn DataField="SurveyClosingDate" HeaderText="Due Date" DataFormatString="{0:d}"/>
<telerik:GridBoundColumn DataField="AdditionalInfo" HeaderText ="Additional Information" />
</Columns>
</MasterTableView>
<PagerStyle AlwaysVisible="true" />
</telerik:RadGrid>
CS:
function OpenSurveys_OnRowDataBound(sender, args)
{
console.log("hyperlink");
// manually set the hyperlink's title
var item = args.get_item();
var dataItem = args.get_dataItem();
var link = item.get_cell("Name").getElementsByTagName("a")[0];
console.log("item,dataItem,link",item,dataItem,link);
link.innerHTML = dataItem.SurveyName;
link.href = dataItem.SurveyURL;
}
function pageLoad(sender, args)
{
document.getElementById("<%=RadGrid1.ClientID%>").style.display="block";
document.getElementById("<%=RadGrid2.ClientID%>").style.display="none";
OpenSurveysTableView = $find("<%= RadGrid1.ClientID %>").get_masterTableView();
$find("<%= RadAjaxLoadingPanel1.ClientID %>").show("<%= RadGrid1.ClientID %>");
commandName = "Load";
executeMethod("/WebServices/SurveyDetails.asmx", "OpenSurveys", getOpenSurveysRequestData(OpenSurveysTableView), updateOpenSurveyGrid, updateFailed);
}
function RadGrid1_Command(sender, args)
{
console.log("RadGrid1_Command");
args.set_cancel(true);
commandName = args.get_commandName();
console.log("commandName",commandName);
$find("<%= RadAjaxLoadingPanel1.ClientID %>").show("<%= RadGrid1.ClientID %>");
executeMethod("/WebServices/SurveyDetails.asmx", "OpenSurveys", getOpenSurveysRequestData(OpenSurveysTableView), updateOpenSurveyGrid, updateFailed);
}
function updateOpenSurveyGrid(result)
{
//alert(result);
$find("<%= RadAjaxLoadingPanel1.ClientID %>").hide("<%= RadGrid1.ClientID %>");
console.log("updateOpenSurveyGrid", result);
OpenSurveysTableView.set_dataSource(result);
OpenSurveysTableView.dataBind();
if (commandName == "PageSize" || commandName == "Load" || commandName == "Page") {
console.log("paging");
executeMethod("/WebServices/SurveyDetails.asmx", "GetOpenSurveyCount", "{}", updateOpenSurveyVirtualItemCount);
}
}
function updateOpenSurveyVirtualItemCount(result)
{
OpenSurveysTableView.set_virtualItemCount(result);
}
function getOpenSurveysRequestData(OpenSurveysTableView)
{
console.log("getOpenSurveysRequestData", OpenSurveysTableView)
var openpageSize = OpenSurveysTableView.get_pageSize();
var opencurrentPageIndex = OpenSurveysTableView.get_currentPageIndex();
var openstartIndex = openpageSize * opencurrentPageIndex;
//console.log("openpageSize,opencurrentPageIndex,openstartIndex,OpenSurveysTableView.get_pageSize()",openpageSize,opencurrentPageIndex,openstartIndex,OpenSurveysTableView.get_pageSize())
return JSON.stringify({
"startIndex": openstartIndex,
"maximumRows": OpenSurveysTableView.get_pageSize(),
"sortExpression": '',
"filterExpression": ''
});
}
function executeMethod(location, methodName, methodArguments, onSuccess, onFail)
{
//console.log("executeMethod", location, methodName, methodArguments, onSuccess, onFail);
$.ajax({
type: "POST",
url: location + "/" + methodName,
data: methodArguments,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: onSuccess,
fail: onFail
});
}
SortedList
<string, GridGroupHeaderItem> headerItems = new SortedList<string, GridGroupHeaderItem>();
protected void rtl_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridGroupHeaderItem) { GridGroupHeaderItem item = (GridGroupHeaderItem)e.Item; headerItems.Add(groupDataRow["Betriebegruppe"].ToString(), item); } else if (e.Item is GridItem) { GridItem item = (GridItem)e.Item; item.Selected = dataBase.checkIsItemSelected(item); if (item.Selected && !headerItems[dataRow.Betriebegruppe].Expanded) { headerItems[dataRow.Betriebegruppe].Expanded = true; } } }</telerik:GridBoundColumn> <telerik:GridRatingColumn DataField="Rating" HeaderText="Rating" AutoPostBackOnFilter="true" ShowFilterIcon="true" CurrentFilterFunction="GreaterThanOrEqualTo" CurrentFilterValue="0.0" Precision="Item" FilterDelay="2000" FilterListOptions="AllowAllFilters"> <HeaderStyle Width="250px" /> </telerik:GridRatingColumn><telerik:GridRatingColumn DataField="Rating" HeaderText="Rating" AutoPostBackOnFilter="true" ShowFilterIcon="true" CurrentFilterFunction="GreaterThanOrEqualTo" CurrentFilterValue="0.0" Precision="Half" FilterDelay="2000" FilterListOptions="AllowAllFilters"> <HeaderStyle Width="250px" /> </telerik:GridRatingColumn>