Databases Reference
In-Depth Information
{ typeof(float), typeof(decimal) },
{ typeof(double), typeof(decimal) },
{ typeof(short), typeof(int) },
{ typeof(byte), typeof(int) },
{ typeof(long), typeof(int) },
{ typeof(char), typeof(string) },
{ typeof(int), typeof(string) },
{ typeof(decimal), typeof(string) },
{ typeof(Guid), typeof(string) },
{ typeof(DateTime), typeof(string) },
{ typeof(DateTimeOffset), typeof(string) },
{ typeof(TimeSpan), typeof(string) }
};
private readonly string filtersFolder;
public UnleashedFilterFactory(MetaModel model)
{
if (model == null) throw new ArgumentNullException(“model”);
this.filtersFolder = VirtualPathUtility.Combine(
model.DynamicDataFolderVirtualPath, “Filters/”);
}
public override string GetFilterVirtualPath(
MetaColumn column, string filterHint)
{
foreach (string candidate in this.GetFilterCandidates(column, filterHint))
{
string path = VirtualPathUtility.Combine(
this.filtersFolder, candidate + “.ascx”);
if (BuildManager.GetObjectFactory(path, false) != null) return path;
}
return base.GetFilterVirtualPath(column, filterHint);
}
private IEnumerable<string> GetFilterCandidates (
MetaColumn column, string filterHint)
{
if (!string.IsNullOrEmpty(filterHint))
yield return filterHint;
if (!string.IsNullOrEmpty(column.FilterUIHint))
yield return column.FilterUIHint;
if (column.DataTypeAttribute != null)
yield return column.DataTypeAttribute.GetDataTypeName();
Type currentType = column.ColumnType;
Search WWH ::




Custom Search