ItHit による Ajax Browser Control のトライアルを検討しています。これまでのところ、http プロトコルを介してファイルをプルすることに関しては、かなり反応が良いようです。
この時点でやりたいことは、詳細ビューで Excel ワークブックからカスタム プロパティを取得することです。カスタム プロパティを取得する C# コードを Ajax コントロールに接続して正しい値を表示する最も効率的な方法は何ですか?
ItHit による Ajax Browser Control のトライアルを検討しています。これまでのところ、http プロトコルを介してファイルをプルすることに関しては、かなり反応が良いようです。
この時点でやりたいことは、詳細ビューで Excel ワークブックからカスタム プロパティを取得することです。カスタム プロパティを取得する C# コードを Ajax コントロールに接続して正しい値を表示する最も効率的な方法は何ですか?
カスタム列を作成する最も簡単な方法は、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;
}