以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  为什么不能显示二进制图片?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146719)

--  作者:hongye
--  发布时间:2020/3/1 0:47:00
--  为什么不能显示二进制图片?
AfterLoad事件如下:
Dim cmd As New SQLCommand
Dim ds As DataTable
cmd.C
cmd.CommandText = "SELECT * Fr om {核价系统}"
ds = cmd.ExecuteReader(True)
Dim drt As DataTable = DataTables("核价系统_Table1")
Dim tbl As Table = Tables("核价系统_Table1")
tbl.DataSource = ds

窗口”核价系统“表“Table1” CurrentChanged 事件如下:
Dim pbx As WinForm.PictureBox = Forms("核价系统").Controls("PictureBox1")
If Tables("核价系统_Table1").Current Is Nothing Then
MessageBox.Show( "1")
    pbx.Image = Nothing
Else
MessageBox.Show( "2")
    pbx.Image = Tables("核价系统_Table1").Current.DataRow.SQlLoadImage("款式图片") \'从后台提取照片并显示
End If


图片点击可在新窗口打开查看此主题相关图片如下:01.jpg
图片点击可在新窗口打开查看


为什么不能显示二进制图片呢
[此贴子已经被作者于2020/3/1 0:50:41编辑过]

--  作者:李孝春
--  发布时间:2020/3/1 0:53:00
--  回复:(hongye)为什么不能显示二进制图片?
不用窗体表看看
直接定义为table1
Dim tbl As Table = Forms("核价系统").Controls("table1”)

[此贴子已经被作者于2020/3/1 0:54:46编辑过]

--  作者:hongye
--  发布时间:2020/3/1 14:21:00
--  
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.2.28.8
错误所在事件:核价系统_Table1,CurrentChanged
详细错误信息:
无法将类型为“Foxtable.WinForm.Table”的对象强制转换为类型“Foxtable.Table”。

--  作者:狐狸爸爸
--  发布时间:2020/3/1 17:42:00
--  

加一个隐藏的Label标签,内容为空,假定标签名为Label1
Afterload:
Dim cmd As New SQLCommand
Dim ds As DataTable
cmd.C
cmd.CommandText = "SELECT * Fr om {核价系统}"
ds = cmd.ExecuteReader(True)
Dim drt As DataTable = DataTables("核价系统_Table1")
Dim tbl As Table = Tables("核价系统_Table1")
tbl.DataSource = ds
e.Form.Controls("lable1").Text= “Ok”
Tables("核价系统_Table1").RaiseCurrentChanged 

 CurrentChanged :
if e.Form.Controls("lable1").Text <> “Ok” then  
   Return
end if
Dim pbx As WinForm.PictureBox = Forms("核价系统").Controls("PictureBox1")
If Tables("核价系统_Table1").Current Is Nothing Then
MessageBox.Show( "1")
    pbx.Image = Nothing
Else
MessageBox.Show( "2")
    pbx.Image = Tables("核价系统_Table1").Current.DataRow.SQlLoadImage("款式图片") \'从后台提取照片并显示
End If



--  作者:hongye
--  发布时间:2020/3/1 20:05:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:01.jpg
图片点击可在新窗口打开查看

参照狐狸爸爸的代码,还是出现错误哦



--  作者:hongye
--  发布时间:2020/3/1 20:08:00
--  

AfterLoad

Dim cmd As New SQLCommand

Dim ds As DataTable

cmd.C

cmd.CommandText = "SELECT * Fr om {订单核价系统}"

ds = cmd.ExecuteReader(True)

Dim drt As DataTable = DataTables("核价系统主表_Table1")

Dim tbl As Table = Tables("核价系统主表_Table1")

tbl.DataSource = ds

e.Form.Controls("lable1").Text= "Ok"

Tables("核价系统主表_Table1").RaiseCurrentChanged 

tbl.SetColVisibleWidth("客户|95|客户担当|70|品名|160|款号|170|样衣款号|160|核价金额|70|技术担当|70|")

tbl.Cols("技术担当").TextAlign = TextAlignEnum.Right

tbl.Cols("品名").TextAlign = TextAlignEnum.Right

tbl.Cols("客户担当").TextAlign = TextAlignEnum.Right

tbl.Cols("款号").TextAlign = TextAlignEnum.Center

tbl.Cols("样衣款号").TextAlign = TextAlignEnum.Center

tbl.SetHeaderCellForeColor("核价金额",Color.Blue)


CurrentChanged

If e.Form.Controls("lable1").Text <> "Ok" Then  

   Return

End If

Dim pbx As WinForm.PictureBox = Forms("核价系统主表").Controls("PictureBox1")

If Tables("核价系统主表_Table1").Current Is Nothing Then

    pbx.Image = Nothing

Else

    pbx.Image = Tables("核价系统主表_Table1").Current.DataRow.SQlLoadImage("款式图片") \'从后台提取照片并显示

End If


还是出错,这是为什么呢

[此贴子已经被作者于2020/3/1 20:41:49编辑过]

--  作者:有点蓝
--  发布时间:2020/3/1 20:51:00
--  
好像只是主表可以,临时表不支持的,试试直接查询,如

 CurrentChanged

Dim pbx As WinForm.PictureBox = Forms("核价系统主表").Controls("PictureBox1")

If e.Table.Current Is Nothing Then

    pbx.Image = Nothing

Else

    Dim cmd As New SQLCommand

    Dim ds As DataTable

    cmd.ConnectionName = "xxx"

    cmd.CommandText = "SELECT 款式图片 Fr om {核价系统} where [_Identify] = " & e.Table.Current("_Identify")

    ds = cmd.ExecuteReader()

    If ds.datarows.count > 0 Then

        Dim imageByte() As Byte = ds.datarows(0)("图片列")

        Dim ms As New system.IO.MemoryStream(imageByte)       \'将字节数组转换为二进制流

        Dim image As Image = Image.FromStream(ms)

        pbx.Image = image

    else

        pbx.Image = Nothing

    End If

End If


[此贴子已经被作者于2020/3/1 22:50:36编辑过]

--  作者:hongye
--  发布时间:2020/3/1 20:59:00
--  

End If

    p

End If


这个p是什么?


--  作者:有点蓝
--  发布时间:2020/3/1 21:03:00
--  
笔误,去掉即可
--  作者:zhy400137
--  发布时间:2020/3/1 22:42:00
--  
mark 显示二进制图片