private
class
MyFilterColumn : ITemplate
{
private
Telerik.Web.UI.RadComboBox combo;
private
RadDatePicker _rdp;
protected
CommonParameters.GridTemplateColumnType type;
protected
string
fieldvalue;
protected
string
fieldtext;
public
MyFilterColumn(
string
Fieldvalue,
string
Fieldtext, CommonParameters.GridTemplateColumnType Type)
{
fieldvalue = Fieldvalue;
fieldtext = Fieldtext;
type = Type;
}
public
void
InstantiateIn(Control container)
{
switch
(type)
{
case
CommonParameters.GridTemplateColumnType.ComboOnDemand:
{
combo =
new
Telerik.Web.UI.RadComboBox();
combo.ID = String.Format(
"RadComboBox{0}"
, fieldtext);
combo.AppendDataBoundItems =
true
;
if
(fieldvalue.Length > 0)
combo.DataTextField = fieldtext.Substring(fieldtext.IndexOf(
"."
) + 1, (fieldtext.Length - (fieldtext.IndexOf(
"."
) + 1)));
combo.DataValueField = fieldvalue;
combo.EmptyMessage =
"niente"
;
combo.Items.Insert(0,
new
Telerik.Web.UI.RadComboBoxItem(
"Tutti"
));
combo.Enabled =
true
;
combo.DataBound += combo_DataBound;
combo.DataBinding +=
new
EventHandler(combo_DataBinding);
combo.OnClientSelectedIndexChanged = String.Format(
"ClientComboFilterSelected_{0}"
, fieldvalue);
container.Controls.Add(combo);
}
break
;
case
CommonParameters.GridTemplateColumnType.Date:
{
_rdp =
new
RadDatePicker();
_rdp.ID =
"rdpf"
+ fieldvalue;
_rdp.Width =
new
System.Web.UI.WebControls.Unit(CommonParameters.RadDatePickerWidth);
_rdp.DbSelectedDate = _rdpf_DataBinding((GridItem)container.NamingContainer);
string
script =
"function ClientDataPickerFilterSelected_"
+ fieldvalue +
"(sender,args) {var tableView=$find(\""
+ ((GridItem)container.NamingContainer).OwnerTableView.ClientID +
"\"); var date= FormatSelectedDate(sender);if (date != '') { alert('data:' + date); tableView.filter(\""
+ fieldvalue +
"\",date,\"EqualTo\");} else { tableView.filter(\""
+ fieldvalue +
"\",date,\"NoFilter\"); } }"
;
// tableView.filter(\"" + fieldvalue + "\" ,date,\"NoFilter\");
_rdp.ClientEvents.OnDateSelected = script;
container.Controls.Add(_rdp);
}
break
;
}
}
DateTime? _rdpf_DataBinding(GridItem pGriditem)
{
if
((pGriditem).OwnerTableView.GetColumn(fieldvalue).CurrentFilterValue ==
string
.Empty)
{
return
new
DateTime?();
}
else
{
return
DateTime.Parse((pGriditem).OwnerTableView.GetColumn(fieldvalue).CurrentFilterValue);
}
}
void
combo_DataBinding(
object
sender, EventArgs e)
{
combo.DataSource = GetData();
}
public
IList GetData()
{
IList mydata;
using
(DMWEntities ctx =
new
DMWEntities())
{
mydata = (from c
in
ctx.Cli_for
orderby c.Denominazione
select
new
{ IdFornitore = c.IdCLiFor, c.Denominazione }).ToList();
}
return
mydata;
}
void
combo_DataBound(
object
sender, EventArgs e)
{
Page page = HttpContext.Current.Handler
as
Page;
Telerik.Web.UI.RadComboBox combo = (Telerik.Web.UI.RadComboBox)sender;
GridItem container = (GridItem)combo.NamingContainer;
string
script =
"function ClientComboFilterSelected_"
+ fieldvalue +
"(sender,args) {var tableView=$find(\""
+ ((GridItem)container).OwnerTableView.ClientID +
"\");if (tableView)alert(args.get_item().get_value());tableView.filter(\""
+ fieldvalue +
"\",args.get_item().get_value(),\"EqualTo\");}"
;
ScriptManager.RegisterStartupScript(page, page.GetType(), String.Format(
"ClientComboFilterSelected_{0}"
, fieldvalue), script,
true
);
combo.SelectedValue = container.OwnerTableView.GetColumn(fieldvalue).CurrentFilterValue;
}
}
function GetRadWindow() {
var oWindow = null;
if (window.radWindow) oWindow = window.radWindow;
else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
return oWindow;
}
function Close() {
GetRadWindow().close();
}
Protected
Sub
Imgbtnclose_Click(sender
As
Object
, e
As
System.Web.UI.ImageClickEventArgs)
Handles
Imgbtnclose.Click
Me
.ClientScript.RegisterStartupScript(
Me
.
GetType
,
""
,
"Close();"
,
True
)
End
Sub
<asp:CustomValidator ID=
"CustomValidator1"
runat=
"server"
ClientValidationFunction=
"validateRadUpload"
ErrorMessage=
"Extension error"
Font-Bold=
"True"
ForeColor=
"Red"
OnServerValidate=
"CustomValidator1_ServerValidate"
ValidationGroup=
"carica"
></asp:CustomValidator>
function validateRadUpload(source, e) {
e.IsValid = false;
var upload = $find(
"<%= RadUpload1.ClientID %>"
);
var inputs = upload.getFileInputs();
for (var i = 0; i < inputs.length; i++) {
//check for empty string or invalid extension
if (inputs[i].value !=
""
&& upload.isExtensionValid(inputs[i].value)) {
e.IsValid = true;
break;
}
}
}
<
MasterTableView
TableLayout
=
"Fixed"
>
<
Columns
>
<
telerik:GridBoundColumn
UniqueName
=
HeaderText
="User Name">
<
HeaderStyle
HorizontalAlign
=
"Left"
/>
<
ItemStyle
HorizontalAlign
=
"Left"
/>
<
FilterTemplate
>
<
telerik:RadTextBox
/>
<
telerik:RadScriptBlock
>
<
script
type
=
"text/javascript"
>
// filter code
</
script
>
</
telerik:RadScriptBlock
>
</
FilterTemplate
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
ASPX PAGE
<
telerik:RadProgressManager
ID
=
"RadProgressManager1"
Runat
=
"server"
/>
<
telerik:RadUpload
ID
=
"RadUpload1"
runat
=
"server"
AllowedFileExtensions
=
".doc,.docx,.pdf"
ControlObjectsVisibility
=
"RemoveButtons, ClearButtons, AddButton"
MaxFileInputsCount
=
"3"
MaxFileSize
=
"1100000"
OverwriteExistingFiles
=
"True"
Skin
=
"WebBlue"
TargetFolder
=
"~/members/docs"
InputSize
=
"35"
></
telerik:RadUpload
>
<
asp:CustomValidator
runat
=
"server"
ID
=
"CustomValidator1"
Display
=
"Dynamic"
ClientValidationFunction
=
"validateRadUpload1"
OnServerValidate
=
"CustomValidator1_ServerValidate"
>
<
span
style
=
"color:red; font-weight:bold;"
><
br
/>Invalid file: too large or not of type .doc , .docx or .pdf</
span
>.
</
asp:CustomValidator
>
<
asp:Button
ID
=
"Button1"
runat
=
"server"
Text
=
"SUBMIT"
/>
<
script
type
=
"text/javascript"
>
function validateRadUpload1(source, arguments) {
arguments.IsValid = $find("<%= RadUpload1.ClientID %>").validateExtensions();
}
</
script
>
<
telerik:RadProgressArea
ID
=
"RadProgressArea1"
Runat
=
"server"
DisplayCancelButton
=
"True"
ProgressIndicators
=
"TotalProgressBar, TotalProgress, RequestSize, FilesCountBar, FilesCount, SelectedFilesCount, CurrentFileName, TimeElapsed, TimeEstimated, TransferSpeed"
Skin
=
"WebBlue"
Culture
=
"en-GB"
>
</
telerik:RadProgressArea
>
CODE BEHIND
Protected Sub CustomValidator1_ServerValidate(source As Object, e As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate
e.IsValid = (RadUpload1.InvalidFiles.Count = 0)
End Sub
WEB.CONFIG
.....
<
system.web
>
<
httpHandlers
>
<
add
path
=
"Telerik.Web.UI.WebResource.axd"
type
=
"Telerik.Web.UI.WebResource"
verb
=
"*"
validate
=
"false"
/>
<
add
path
=
"Telerik.Web.UI.DialogHandler.aspx"
type
=
"Telerik.Web.UI.DialogHandler"
verb
=
"*"
validate
=
"false"
/>
<
add
path
=
"Telerik.Web.UI.SpellCheckHandler.axd"
type
=
"Telerik.Web.UI.SpellCheckHandler"
verb
=
"*"
validate
=
"false"
/>
<
add
path
=
"Telerik.RadUploadProgressHandler.ashx"
type
=
"Telerik.Web.UI.RadUploadProgressHandler"
verb
=
"*"
validate
=
"false"
/>
</
httpHandlers
>
<
httpModules
>
<
add
name
=
"RadUploadModule"
type
=
"Telerik.Web.UI.RadUploadHttpModule"
/>
</
httpModules
>
</
system.web
>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<add name="RadUploadModule" preCondition="integratedMode" type="Telerik.Web.UI.RadUploadHttpModule" />
</modules>
<handlers>
<add name="Telerik_Web_UI_WebResource_axd" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" />
<add name="Telerik_Web_UI_DialogHandler_aspx" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" />
<add name="Telerik_Web_UI_SpellCheckHandler_axd" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" />
<add name="Telerik_RadUploadProgressHandler_ashx" verb="*" preCondition="integratedMode" path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" />
</handlers>
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/error404.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
....