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
>