风中的猪儿

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
下午公司需求人员和我说需要文档要带条码,心想这个还不简单,直接文档库设置-》信息管理策略设置-》定义策略-》把条码勾上。简单搞定~~~
然后在视图里把条码值和条码图形勾上,效果出来了。叫需求人员过来看一下,结果他提了一个需要自己传入条码值生成条码的需求,咱想,这还不简单,查一下Field,果然有个叫_dlc_BarcodeValue的field值,里面保存着条码值呢,修改他,update一下,刷新页面,傻了,只有条码值变了,条码图像并没有改变。这下犯难了,接着查Field,里面还有一个_dlc_BarcodePreview,和_dlc_BarcodeImage的属性,其中_dlc_BarcodeImage里存的是一个图片,显示出来的string全是乱七八糟的二进制的东西,看来这三个field都需要更改了,难道要我自己生成一个条形码的image然后存进去?

在GOOGLE上翻半天也没有什么结果。最后翻SDK,WSS SDK里还没有,是在Office sharepoint server文档中找到一个Barcode类,它有两个静态方法ProvisionBarcode 和ProvisionBarcodeWithValue 。

第一个方法是为SPListitem重新生成一个条形码值和图片,条码值是随机生成的,而第二个是按指定的条码值生成条码。
两个方法使用非常简单,我代码都不贴了,直接把参数贴出来吧
public static void ProvisionBarcode (
    SPListItem spListItem,
    
bool fOverwrite,
    
out string strValue,
    
out Image imBarcode
)
public static void ProvisionBarcodeWithValue (
    SPListItem spListItem,
    
bool fOverwrite,
    
ref string strValue,
    
out Image imBarcode
)

两个方法参数基本上一样
spListItem
需要重新生成的SPListItem。
fOverwrite
是否要覆盖当前的条码值(显然是要设成true)
strValue
条码值(这里注意一下,ProvisionBarcode 加上了out,意味着你传的这个strValue不需要初始化,方法完成后,这个strValue被赋了新的条码值,而ProvisionBarcodeWithValue使用的是ref,这要求你传入一个条码值,strValue必须先赋值,方法会按你传入的条码值生成图片等信息,还有,条码值是一个长度为10的字符串)
imBarcode
条码图像的Image对象。加上了out,不需要初始化。


乱七八糟的研究了点小东西……
posted on 2008-05-20 16:40  风中的猪儿  阅读(946)  评论(3编辑  收藏  举报