以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何根据会议议题表的当前行 来自动打开议题资料的第一行对应的二进制未见到web浏览控件里呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=176712)

--  作者:cnsjroom
--  发布时间:2022/4/24 10:22:00
--  如何根据会议议题表的当前行 来自动打开议题资料的第一行对应的二进制未见到web浏览控件里呢?

如何根据会议议题表的当前行  来自动打开议题资料的第一行对应的二进制未见到web浏览控件里呢?

想实现点击会议议题某行  就自动打开关联议题资料的第一行数据 到web浏览控件内!不管第一行数据是啥,只要这个数据行不为空,都显示出来!

 

 

会议议题表的当前行事件代码:正常实现议题资料的所有关联行数据显示出来

Dim zs1 As Integer = Tables(e.form.name & "_table1").Count
If zs1 >0 Then
    If Tables(e.form.name & "_table1").Current("uuid")<>"" Then
        vars("议题uuid")=Tables(e.form.name & "_table1").Current("uuid")
        vars("议题标题")=Tables(e.form.name & "_table1").Current("议题标题")
        Tables(e.form.name & "_table2").Filter="uuid=\'" & Tables(e.form.name & "_table1").Current("uuid") &"\'and 会议主题=\'" & Tables(e.form.name & "_table1").Current("议题标题") &"\'"
    Else
        Tables(e.form.name & "_table2").Filter="uuid=\'XXXXXXX\'and 会议主题=\'" & Tables(e.form.name & "_table1").Current("议题标题") &"\'"
        vars("议题uuid")=""
        vars("议题标题")=""
    End If
Else
    Tables(e.form.name & "_table2").Filter="uuid=\'XXXXXXX\' and 会议主题=\'" & Tables(e.form.name & "_table1").Current("议题标题") &"\'"
End If

 

 

议题资料事件代码  正常实现双击某行能够对应打开对应的二进制文件到web浏览控件内

If Tables(e.form.name & "_table2").Current Is Nothing Then
    Return
End If
Dim dr As DataRow = Tables(e.form.name & "_table2").Current.DataRow
Dim fl As String =  ProjectPath &  dr("文件名")
If FileSys.FileExists(fl) AndAlso CRCCheckFile(fl) = dr.SQLGetValue("CRC值") Then \'如果本地存在同名文件且CRC校验值相同
    \'则直接使用本地文件
Else \'否则从数据库提取文件
    If dr.SQLLoadFile("附件",fl) = False Then \'如果提取文件失败
        Messagebox.Show("附件提取失败,可能并不存在附件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Return
    End If
End If
\'Dim Proc As New Process \'打开文件
\'Proc.File = fl
\'Proc.Start()
Dim wb As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
wb.Address=fl


--  作者:有点蓝
--  发布时间:2022/4/24 10:35:00
--  
Dim web = e.form.controls("webbrowser1").basecontrol
web.documenttext = "<html><body><img width=\'500px\' height=\'500px\' src=\'" & fl & "\' /></body></html>"

--  作者:cnsjroom
--  发布时间:2022/4/25 8:48:00
--  回复:(有点蓝)Dim web = e.form.controls("webbrow...

老师  应该是这样


图片点击可在新窗口打开查看此主题相关图片如下:44.png
图片点击可在新窗口打开查看
该怎么操作呢?
--  作者:有点蓝
--  发布时间:2022/4/25 8:53:00
--  
参考:http://www.foxtable.com/webhelp/topics/2717.htm

比如,

Dim lst As List(of String)
lst = 
Tables("A").Current.DataRow.Lines("文件")
msgbox("第一个文件为:" & lst(0))
[此贴子已经被作者于2022/4/25 8:52:56编辑过]

--  作者:cnsjroom
--  发布时间:2022/4/25 9:59:00
--  回复:(有点蓝)参考:http://www.foxtable.com/webh...

在会议主题中加入如下点击代码  可以实现议题资料里面有文件名的时候  文件对应的打开并显示在web浏览控件中   
怎么实现当会议主题对应的议题资料没有文件的时候   web浏览里面的为空呢  包括之前打开的所有的文件全部清空

 

Dim wb As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
If Tables(e.form.name & "_table2").Current Is Nothing Then
    Return
End If

Dim lst As List(of String)
lst = Tables(e.form.name & "_table2").Current.DataRow.Lines("文件名")
\'msgbox("第一个文件为:" & lst(0))

Dim dr As DataRow = Tables(e.form.name & "_table2").Current.DataRow
Dim fl As String =  ProjectPath &  lst(0)
If FileSys.FileExists(fl) AndAlso CRCCheckFile(fl) = dr.SQLGetValue("CRC值") Then \'如果本地存在同名文件且CRC校验值相同
    \'则直接使用本地文件
Else \'否则从数据库提取文件
    If dr.SQLLoadFile("附件",fl) = False Then \'如果提取文件失败
        Messagebox.Show("附件提取失败,可能并不存在附件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Return
    End If
End If

If lst(0).Count>1 Then
    wb.Address=fl
Else
    wb.Address=Nothing
End If


--  作者:有点蓝
--  发布时间:2022/4/25 10:03:00
--  
If lst.Count>1 Then
    wb.Address=fl
--  作者:cnsjroom
--  发布时间:2022/4/25 10:14:00
--  回复:(有点蓝)If lst.Count>1 Then  ...


If lst.Count>1 Then
    wb.Address=fl
Else
    wb.Address=Nothing
End If

 

老师  改成这样的话 结果一个都不显示了


--  作者:有点蓝
--  发布时间:2022/4/25 10:16:00
--  
If lst.Count>0 Then
--  作者:cnsjroom
--  发布时间:2022/4/25 10:18:00
--  回复:(有点蓝)If lst.Count>0 Then

一样试过  不得行呢

 

代码改成如下:基本可以到达预期 
老师有没有更简便的写法呢?

Dim wb As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
If Tables(e.form.name & "_table2").Current Is Nothing Then
    wb.Address=Nothing
    Return
End If

Dim lst As List(of String)
lst = Tables(e.form.name & "_table2").Current.DataRow.Lines("文件名")
\'msgbox("第一个文件为:" & lst(0))

Dim dr As DataRow = Tables(e.form.name & "_table2").Current.DataRow
Dim fl As String =  ProjectPath &  lst(0)
If FileSys.FileExists(fl) AndAlso CRCCheckFile(fl) = dr.SQLGetValue("CRC值") Then \'如果本地存在同名文件且CRC校验值相同
    \'则直接使用本地文件
Else \'否则从数据库提取文件
    If dr.SQLLoadFile("附件",fl) = False Then \'如果提取文件失败
        Messagebox.Show("附件提取失败,可能并不存在附件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Return
    End If
End If
wb.Address=fl