2015-07-13 6 views
1

Я смотрю пробную версию Ajax Browser Control от ItHit. Пока это кажется довольно отзывчивым, когда дело доходит до получения файлов через протокол HTTP.IT Hit WebDAV Ajax Browser Пользовательские столбцы

Что я хочу сделать в этот момент, это просмотр деталей, которые вытаскивают пользовательские свойства из моих книг excel. Каков наиболее эффективный способ подключения моего кода на C#, который получает пользовательские свойства элемента управления Ajax для отображения правильных значений?

ответ

0

Самый простой способ создать пользовательский столбец - вернуть пользовательское свойство с сервера WebDAV. В приведенном ниже примере сервер возвращает цену в PriceNs: свойство RetailPrice.

На стороне клиента вы будете определять пользовательский столбец и указать пользовательское имя свойства и пространство имен:

{ 
    Id: 'MyColumn1', 
    CustomPropertyName: 'RetailPrice', 
    CustomPropertyNamespace: 'PricesNs', 
    Text: 'Retail Price', 
    Width: '150px' 
} 

Другой подход вернуть HTML из функции Formatter, установленного для столбца. У вас есть полный контроль над тем, что отображается в этом случае.

Вы можете найти более подробную информацию и пример в этой статье: http://www.webdavsystem.com/ajaxfilebrowser/programming/grids_customization/

В случае, если ваш сервер WebDAV запущен на IT Hit WebDAV Server Engine, чтобы вернуть запрашиваемую собственность, вы должны реализовать метод IHierarchyItem.GetProperties (или его асинхронный аналог):

public IEnumerable<PropertyValue> GetProperties(IList<PropertyName> names, bool allprop) 
{ 
    if (allprop) 
    { 
     return getPropertyValues(); 
    } 

    List<PropertyValue> propVals = new List<PropertyValue>(); 
    foreach(PropertyName propName in names) 
    { 
     if((propName.Namespace == "PricesNs") && (propName.Name == "RetailPrice")) 
     { 
      // Depending on the item you will return a different price, 
      // but here for the sake of simplicity we return one price regerdless of the item 
      propVals.Add(new PropertyValue(propName, "100")); 
     } 
     else 
     { 
      ... 
     } 
    } 
    return propVals; 
} 
+0

Пользовательские свойства находятся только в файлах, как я могу проверить, что это не папка, прежде чем я добавлю свойство? –

+0

Верно ли, что GerProperties работает после возврата доходности в методе GetChildren? Мне нужно отфильтровать возвращаемые файлы на основе определенного свойства. Свойства недоступны в методе GetChildren. –

Смежные вопросы