Hi,
I am not able to get the ID from the dropdown to do the insert of the new record based on that selected item from the that dropdown.
So when I click the "Add file" no record is being saved to the database.
thanks
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> <telerik:RadFormDecorator ID="RadFormDecorator1" Runat="server" Skin="Windows7" DecoratedControls="Textbox" /> <div style="padding-left:20px"> <table width="90%" border="0" cellpadding="5" style="text-align:left"> <tr> <td align="left"> <div style="font-size: 14pt; font-weight: bold;"> Add New Media </div> </td> <td align="right" > <img src="../images/arrow_back.png" align="absmiddle" /> <asp:LinkButton ID="btnAddMedia" Font-Bold="false" CausesValidation="false" runat="server" Text="Back to Listings" /> </td> </tr> <tr> <td><div runat="server" id="successaddmsg" visible="false"> <img src="../images/accept.png" align="absmiddle" /> <asp:Label ID="Label1" runat="server" ForeColor="green" Font-Bold="true" Font-Size="12px" Text="Media item was successfully added." /> </div> </td> <td> <asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="validateRadUpload" ErrorMessage="Please select at least one valid media file" fileOnServerValidate="CustomValidator1_ServerValidate" /> </td> </tr> <tr> <td> Categroy: </td> <td> <telerik:RadComboBox ID="RadComboBox1" runat="server" DataSourceID="SqlDataSource2" AppendDataBoundItems="true" DataTextField="Category" DataValueField="CatId" Skin="Windows7"> <Items> <telerik:RadComboBoxItem /> </Items> </telerik:RadComboBox> </td> </tr> <tr> <td> Media File: </td> <td> <telerik:RadUpload ID="RadUpload1" runat="server" ControlObjectsVisibility="None" Skin="Office2007"> </telerik:RadUpload> </td> </tr> <tr> <td> Title: </td> <td> <asp:TextBox ID="txtTitle" Width="321px" runat="server"></asp:TextBox> </td> </tr> <tr> <td> Comments: </td> <td> <asp:TextBox ID="txtDesc" Width="321px" runat="server"></asp:TextBox> </td> </tr> <tr> <td colspan="2"> <asp:CheckBox ID="chkShow" Checked="true" runat="server" Text="Make it available on User's Download Page." /> </td> </tr> <tr> <td colspan="2"> <br /> <br /> <asp:Button ID="btnAdd" runat="server" Text="Add file" /> </td> </tr> </table> </div> <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:MUNTERSJMmlConnectionString %>" SelectCommand="SELECT MediaCategories.CatId, MediaCategories.CatName AS Category FROM MediaCategories ORDER BY CatName "> </asp:SqlDataSource> <%-- Upload Large File Setting Requirements: Open the file C:\Windows\System32\inetsrv\config\applicationHost.config and find the line: <section name="requestFiltering" overrideModeDefault="Deny" /> Set the overrideModeDefault property to Allow. So now the line should look like: <section name="requestFiltering" overrideModeDefault="Allow" /> --%> </asp:Content>
<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>