2015-07-13 54 views
1

我正在查看ItHit對Ajax瀏覽器控件的試用。到目前爲止,當涉及到通過http協議提取文件時,它似乎非常靈敏。IT Hit WebDAV Ajax瀏覽器自定義列

我想在這一點上做的是從我的Excel工作簿中獲取細節視圖拉取自定義屬性。將自定義屬性的C#代碼連接到Ajax控件以顯示正確值的最有效方法是什麼?

回答

0

創建自定義列的最簡單方法是從WebDAV服務器返回自定義屬性。在下面的例子中,服務器返回PricesNs:RetailPrice屬性中的價格。

在一個客戶端,你將定義一個自定義的列,並指定自定義屬性名稱和命名空間:

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

另一種方法是從列指定的格式化函數返回一個HTML。您可以完全控制這種情況下顯示的內容。

你可以找到更多的細節和本文中的例子:http://www.webdavsystem.com/ajaxfilebrowser/programming/grids_customization/

在你的WebDAV服務器上運行命中WebDAV服務器引擎,返回請求的屬性,你必須實現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方法中的yield return之後運行?我需要過濾基於特定屬性返回的文件。該屬性在GetChildren方法中不可用。 –

相關問題