Foxtable(狐表)用户栏目专家坐堂 → [求助]能否在数据表的照片列中直接显示人员头像?


  共有4138人关注过本帖树形打印复制链接

主题:[求助]能否在数据表的照片列中直接显示人员头像?

帅哥哟,离线,有人找我吗?
智友软件工作室
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:912 积分:7445 威望:0 精华:0 注册:2013/2/25 13:10:00
[求助]能否在数据表的照片列中直接显示人员头像?  发帖心情 Post By:2014/4/28 19:54:00 [只看该作者]

如题

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/28 19:57:00 [只看该作者]

 直接在单元格显示?这个就需要编写drawcell事件了。

 

 参考 http://www.foxtable.com/help/topics/2387.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
jaegea
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:480 积分:3838 威望:0 精华:0 注册:2011/5/31 15:45:00
  发帖心情 Post By:2014/4/28 20:15:00 [只看该作者]

Dim r As Row = CurrentTable.Current

Dim pic As Image = GetImage(相片路徑)

Dim rg As C1.Win.C1FlexGrid.CellRange = CurrentTable.Grid.GetCellRange(r.Index+1, CurrentTable.Cols(“相片顯示列”).Index+1, r.Index+1, CurrentTable.Cols(“相片顯示列”).Index+1)
rg.Image = pic

 

其中的+1為行標題層次及行號列,行標題2層就要+2,以此類推。

[此贴子已经被作者于2014-4-28 20:20:48编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/28 20:26:00 [只看该作者]

 3楼这样也可以,不过,这种不会重绘,如果你对表进行了筛选等操作之后,需要重新设置一遍。

 

Dim o As Objec = Tables("表A").grid.GetCellRange(2,3,2,3)
o.Image = getimage("d:\001.ico")


 回到顶部
帅哥哟,离线,有人找我吗?
智友软件工作室
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:912 积分:7445 威望:0 精华:0 注册:2013/2/25 13:10:00
  发帖心情 Post By:2014/4/28 20:26:00 [只看该作者]

二楼帮助例子看过  帮助的例子是同一个图片  不知如何去对应每一个人员的头像绘制
三楼  一是代码没看懂 二是不知放在哪个事件中

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/28 20:31:00 [只看该作者]

以下是引用智友软件工作室在2014-4-28 20:26:00的发言:
二楼帮助例子看过  帮助的例子是同一个图片  不知如何去对应每一个人员的头像绘制
三楼  一是代码没看懂 二是不知放在哪个事件中

 

你一行里面不是有一个图片列么?直接这样写,就可以了的。

 

If e.Col.Name = "图片" Then

    e.Graphics.DrawImage(getImage(e.row("图片")), e.x + 3,e.y + 3) '绘制第一个图标

End If

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
jaegea
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:480 积分:3838 威望:0 精华:0 注册:2011/5/31 15:45:00
  发帖心情 Post By:2014/4/28 20:33:00 [只看该作者]

代碼放在數據加載完之後,比如在加載按鈕裡加上以下代碼

With Tables("員工信息表")

    For Each r as row in .Rows

    Dim pic As Image = GetImage(r(“相片地址列”))     '得本機地址局域網地址,如果是FTP網絡地址可以先下載至本機

    Dim rg As C1.Win.C1FlexGrid.CellRange = .Grid.GetCellRange(r.Index+1, .Cols(“相片顯示列”).Index+1,r.Index+1, .Cols(“相片顯示列”).Index+1)
    rg.Image = pic

    Next

End With

採用的是C1的單元格背景圖繪製

[此贴子已经被作者于2014-4-28 20:38:26编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/28 20:34:00 [只看该作者]

3楼的代码,是需要你循环一次,去设置的,可以放在一个按钮里,或者afterOpenProject事件,代码类似

 

For Each r As Row In Tables("xxx").Rows  

    Dim o As Objec = Tables("xxx").grid.GetCellRange(r.Index+1, 3, r.Index+1, 3)
    o.Image = getimage("d:\001.ico")

Next

[此贴子已经被作者于2014-4-28 20:34:06编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
智友软件工作室
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:912 积分:7445 威望:0 精华:0 注册:2013/2/25 13:10:00
  发帖心情 Post By:2014/4/28 20:52:00 [只看该作者]

显示的图片

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140428205015.png
图片点击可在新窗口打开查看
这些图片可能会大小不一,能不能修改图片的长和宽。或者固定图片显示大小。
[此贴子已经被作者于2014-4-28 20:57:06编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
智友软件工作室
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:912 积分:7445 威望:0 精华:0 注册:2013/2/25 13:10:00
  发帖心情 Post By:2014/4/28 20:55:00 [只看该作者]

6楼比较好理解,现在可以了。 e.x + 3,e.y + 3  这个参数是什么意思呢?


 回到顶部
总数 12 1 2 下一页