我正在查看 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'
}
另一种方法是从为列指定的 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;
}