以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]取值获取定位问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=83142)

--  作者:yys983
--  发布时间:2016/4/1 12:39:00
--  [求助]取值获取定位问题
求助大神,我现在做了一个窗体,里面用到一个图片控件PictureBox。绑定到了表中的一列,已展示该列对应行的图片,但因为我填写完毕以后点击新增行,图片展示就不见了,。现在我想实现的是,图片控件延迟一行显示,比如,我在填写第十行的时候,图片控件获取并展示第九行的数据的图片。。点击新增一行,填写11行的时候,图片展示第十行的数据图片,请问这个可以办到吗?
[此贴子已经被作者于2016/4/1 12:39:55编辑过]

--  作者:大红袍
--  发布时间:2016/4/1 14:49:00
--  

 那你的图片控件不要绑定列,直接赋值吧。

 

Dim r As Row = Tables("表A").Current
If r IsNot Nothing
    Dim idx As Integer = iif(r.Index>0, r.Index-1, 0)
    r = Tables("表A").Rows(idx)
    Dim p As String = ProjectPath & "Attachments/" & r("第一列")
    If FileSys.FileExists(p)
        e.Form.Controls("PictureBox1").Image = getimage(p)
    Else
        e.Form.Controls("PictureBox1").Image = Nothing
    End If
End If


--  作者:yys983
--  发布时间:2016/4/2 13:50:00
--  
版主我刚刚测试了一下,没成功,不知道是不是哪里没设置对,还是赋值的地方没对,我在窗AfterLoad和图片控件的BeforeGetImage都测试了,还是不。行我取值的列是表的第九列,列属性为字符,是不是需要设置成扩展图片类型,产生的数据是指定文件包的图片的图片名,我比较菜,能给我一个具体一点的步骤吗,,填写的时候新增行是空值,这个时候行定位是在新增行上面的,但窗体控件要显示的是上一行的所对应的数据的图片,也可以是定位为第九列最有一个不为空的值,麻烦帮我写下,十分谢谢你,
--  作者:Hyphen
--  发布时间:2016/4/2 15:43:00
--  
写在新增行按钮事件或者窗口AfterLoad事件中

Dim dr As DataRow = DataTables("表A").Find("第九列 is not null","_Identify desc")
If dr IsNot Nothing Then
    Dim p As String = ProjectPath & "指定路径\\" & dr("第九列") \'改成实际目录路径
    If FileSys.FileExists(p)
        e.Form.Controls("PictureBox1").Image = getimage(p)
    Else
        e.Form.Controls("PictureBox1").Image = Nothing
    End If
End If