DataGrid超链接列 - 格式字符串

来源:互联网 发布:非平衡面板和缺失数据 编辑:程序博客网 时间:2024/05/01 10:56
        其实觉得这个题目取的挺不好的。没有达到看题知意的效果,但是实在是想不出好的题目了,也就这样吧。

        今天做项目的时候碰到的问题,虽然不难,但是当时也想了一下子,所以当作一个经验记录一下。

         背景是这样的,有一个DataGrid,其中有一列是超链接列。在运行的时候,点击超链接列后,就会弹出一个新的窗口,在窗口中显示的是以对应行的 (单位号 + 考核时间)组成文件名的html文件。

          很自然的想到了超链接列中的 "URL格式字符串"属性,通过这个属性,可以将URL中会变化的部分先指定为一个占位符,这样在运行的时候再动态的组成一个有效的URL地址。在我的项目中,URL格式字符串是这样的:
             http://localhost/ESSABC_060409/ManHour/File/html/{0}.html
           其中{0} 就是一个占位符,在运行的时候,由 (单位号 + 考核时间)组成的值来替代。

          而{0} 替代的值的指定是在URL字段中定义的,这里可以指定DataGrid中某列的值作为替代占位符的值。但是只允许指定一列。这样问题就来了,我这里是需要的是两个属性组合的值来定位文件的。

          想了一下,决定将DataGrid的数据源结构改造一下。将作为DataGrid数据源的DataTable增加一列,列名叫做“HR2ID_strDate”,然后通过后台代码将(单位号 + 考核时间)连接起来,给新增的列进行复制。在DataGrid中也增加一个绑定列,将其与"HR2ID_strDate"进行绑定,然后将其Visible 属性设置为False,这样这一列就不会在页面中显示出来了。最后再将超链接中的URL字段指定为这一列的值就可以了。