以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 实现类似QQ即时消息的功能 问题一直没解决好 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=49196) |
-- 作者:kmzb56 -- 发布时间:2014/4/14 9:26:00 -- 实现类似QQ即时消息的功能 问题一直没解决好 想实现类似于QQ的一个即时消息功能,查到任务时,针对每一个任务可以发布情况,任务登记表与情况发布关联,在窗口的输入窗口输入字回车后能发布出去,其它客户端能看到,这个功能我试了多次,一直没解决好, 注要问题是, 第一:有时追载时消息并不按时间顺序排列,第二:有时串到其它任务上去了,第三:有时显示不出来,是空的,但发布人这些有。 注明:以前我用增加消息的方式,不用输入框的方式不会这样,但也不稳定。 追载代码 Dim qkid As Integer = DataTables("情况发布").Compute("Max(_Identify)") Dim Filter As String = "[_Identify] > " & qkid If Forms("任务查询").Opened() Then Dim cnt As Integer = Tables("任务查询_table3").Rows.Count Dim drs As List(Of DataRow)=DataTables("情况发布").AppendLoad(Filter, False) If Tables("任务查询_table3").Rows.Count > cnt Then Tables("任务查询_table3").Position = cnt End If If drs.Count > 0 Then Audio.Play("D:\\zbddt\\Project\\sound\\msg.wav") End If Else Dim drs As List(Of DataRow)=DataTables("情况发布").AppendLoad(Filter, False) If drs.Count > 0 Then Audio.Play("D:\\zbddt\\Project\\sound\\msg.wav") End If End If 输入框的 keyup事件: If e.Control = True AndAlso e.KeyCode = Keys.Enter Then Tables("任务查询_table3").addnew() \'Dim hh As Integer= Tables("业务登记.情况发布").Rows.Count()-1 \'Dim cnt As Integer = Tables("任务查询_table3").Rows.Count \'Tables("任务查询_table3").Position = cnt Dim r As Row=Tables("任务查询_table3").Current() \'Dim r As Row=Tables("业务登记.情况发布").Current() Dim zifu As String=e.Form.Controls("TextBox12").text r("情况反映")=zifu \'Tables("业务登记.情况发布").Select ( hh ,0) Tables("任务查询_table3").Current.Save() e.Form.Controls("TextBox12").value="" End If 请朋家帮忙分析一下。 |
-- 作者:狐狸爸爸 -- 发布时间:2014/4/14 9:40:00 -- http://www.foxtable.com/help/topics/2265.htm |
-- 作者:有点甜 -- 发布时间:2014/4/14 10:13:00 -- 第一第二个问题,你对表进行一下排序就好,比如按照 时间
第三个问题,没有理解。不加载的话,看看加载条件,看qkid的值,可能是新增行导致的。 |