1

ItHit による Ajax Browser Control のトライアルを検討しています。これまでのところ、http プロトコルを介してファイルをプルすることに関しては、かなり反応が良いようです。

この時点でやりたいことは、詳細ビューで Excel ワークブックからカスタム プロパティを取得することです。カスタム プロパティを取得する C# コードを Ajax コントロールに接続して正しい値を表示する最も効率的な方法は何ですか?

4

1 に答える 1

0

カスタム列を作成する最も簡単な方法は、WebDAV サーバーからカスタム プロパティを返すことです。以下の例では、サーバーは PriceNs:RetailPrice プロパティで価格を返します。

クライアント側では、カスタム列を定義し、カスタム プロパティ名と名前空間を指定します。

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

もう 1 つの方法は、列に指定された Formatter 関数から HTML を返すことです。この場合、表示される内容を完全に制御できます。

この記事で詳細と例を見つけることができます: http://www.webdavsystem.com/ajaxfilebrowser/programming/grids_customization/

WebDAV サーバーが IT Hit 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;
}
于 2015-07-16T23:45:42.893 に答える