小编Éri*_*ins的帖子

jQuery DataTable - 以预期的方式隐藏行

我们目前正在开发基于Web的CRM.除了令人沮丧的问题外,该项目进展顺利.

我们正在为应用程序的几乎每个可排序表使用DataTable jQuery插件.这是一个活动事件列表.

打开事件

如您所见,第三列表示事件的类型(票证,变更请求,服务请求等)

用户请求放置在上一个表顶部的过滤器框来过滤事件类型.例如,如果选择"仅限票证",则将隐藏其他所有类型.到目前为止,一切正常.

为此,每行都有一个表示事件类型的CSS类.

  • 第1行:class ="ticket"
  • 第2行:class ="changeRequest"

当筛选框值更改时,将执行以下javascript代码

$('table.sortable').each(function() {
    for (var i = 0; i < rows.length; i++) {
        if ($(rows[i]).hasClass(vClass)) $(rows[i]).hide();
    }
});
Run Code Online (Sandbox Code Playgroud)

哪里

  • vClass =表示事件类型的CSS类
  • rows =所有dataTable行,来自"$(SomeDatatable).dataTable().fnGetNodes();"
  • $('table.sortable')=所有dataTables

现在,系好安全带(法国班轮).当您隐式隐藏行时,dataTable仍会对其进行计数.这是一个神话般的结果.

有关药物的数据表

正如所解释的那样,主要问题是:我应该如何告诉dataTable我想隐藏行而不永远删除它们?DataTable已经有了一个过滤器框,但我需要它与类型过滤器盒一起独立工作(不在图像中).

有没有办法添加第二个过滤器?

javascript jquery datatables

31
推荐指数
1
解决办法
2万
查看次数

优化mysql查询以获取每个用户的"看不见"条目

这个标题相当令人着迷,但我无法想出更清楚的东西.

简而言之,我们正在创建一个连接到与mySql数据库通信的node.js服务器的移动应用程序.很常见的设置.现在,我们连接了多个用户,可以将"时刻"上传到我们的服务器.所有其他用户只能看到这些时刻.

一旦用户x看到另一个用户y的时刻,x就无法看到这个时刻.也许有点像Snapchat,除了那个时刻是单个用户到多个用户而不是单个到单个用户.根据当前用户的位置,时间也按距离排序.

现在,我正在寻找一种只从数据库中获取"看不见"的时刻的智能方法.目前,我们正在使用用户和时刻之间的关系表.

假设用户(ID = 20)看到片刻(ID = 30320),然后我们插入此表20和30320.我知道.这难以扩展,可能是一个糟糕的主意.

我想过可能会检查最后一次看到的日期并且仅获取超过此日期的时刻,但是再一次,按日期排序之前的时刻按照距离排序,这样就可以看到3分钟之后的片刻,然后是是30秒.

有没有更聪明的方法,或者我注定要使用Moments和Users之间的关系表,并在查询时加入它?

非常感谢.

编辑 -

该逻辑总共使用3个表.

  • 用户
  • 时刻
  • MomentSeen

MomentSeen只包含用户看到的时刻和时间.由于时间没有按日期排序,我无法获取在最后一刻之后上传的所有时刻.

编辑 -

我刚刚意识到移动应用程序Tinder必须使用类似的逻辑,用户"喜欢"其他用户.由于你不能及时回过头来看两次用户,他们可能会使用与我正在寻找的非常相似的查询.

考虑到他们有很多用户,并且按照距离和其他一些未知标准进行排序,必须有比"UserSawUser"关系表更聪明的做事方式.

编辑

我无法提供整个数据库结构,因此我将只留下重要的表格和一些字段.

Users { 
    UserID INT UNSIGNED AUTO_INCREMENT PRIMARY KEY
}

Moments {
    MomentID INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    UploaderID INT UNSIGNED, /* FK to UserID */
    TimeUploaded DATE /* usually NOW() while insertion */
} 

MomentSeen {
    /* Both are FK to Users and Moments */
    MomentID INT UNSIGNED,
    UserID INT UNSIGNED
}
Run Code Online (Sandbox Code Playgroud)

mysql optimization node.js

9
推荐指数
1
解决办法
240
查看次数

使用添加剂混合绘制图像

问题得到了回答.有关更多信息,请查看本文末尾的编辑#4.

我们目前正在开发一款相当不错的游戏制作引擎.我正在制作动画创作者,并想知道是否可以使用添加剂混合绘制图像.

让我解释.

我们使用C#的System.Drawing库,我们使用Windows Forms.目前,用户可以通过导入带框架的动画图像(包含动画的每一帧的图像)来创建动画,并且用户可以将这些帧拖放到他想要的任何地方.

实际问题是我们无法弄清楚如何使用添加剂混合绘制框架.

这是添加剂混合的例子,如果你没有得到它.我不会责怪你,我很难用英语写作. 添加剂混合例如

我们使用以下方法在Panel上绘图或直接在表单上绘制.例如,这里是为地图编辑器绘制平铺地图的代码.由于AnimationManager代码很乱,所以这个例子会更清楚.

        using (Graphics g = Graphics.FromImage(MapBuffer as Image))
        using (Brush brush = new SolidBrush(Color.White))
        using (Pen pen = new Pen(Color.FromArgb(255, 0, 0, 0), 1))
        {
            g.FillRectangle(brush, new Rectangle(new Point(0, 0), new Size(CurrentMap.MapSize.Width * TileSize, CurrentMap.MapSize.Height * TileSize)));

            Tile tile = CurrentMap.Tiles[l, x, y];
            if (tile.Background != null) g.DrawImage(tile.Background, new Point(tile.X * TileSize, tile.Y * TileSize));

            g.DrawRectangle(pen, x * TileSize, y * TileSize, TileSize, TileSize);
        }
Run Code Online (Sandbox Code Playgroud)

有没有可能用附加图纸绘制图像的方法,如果是这样的话,如果有人能指出我是怎么回事,我将永远感激不尽.谢谢.

编辑#1:

对于绘制图像,我们使用颜色矩阵来设置色调和alph(不透明度),如下所示:

ColorMatrix matrix = new ColorMatrix …
Run Code Online (Sandbox Code Playgroud)

c# system.drawing winforms color-blending

8
推荐指数
1
解决办法
4130
查看次数

如何扫描等待网络连接的端口

我目前正在使用C#中的一个小聊天工具.
问题是我无法弄清楚如何扫描网络以查找所有计算机上的特定端口.我目前正在使用这种方法

    IPGlobalProperties network = IPGlobalProperties.GetIPGlobalProperties();
    IEnumerable<IPEndPoint> connections = network.GetActiveTcpListeners()
                                                        .Where(x => x.Port == ConstParams.iPort);
Run Code Online (Sandbox Code Playgroud)

ConstParams.iPort我要扫描的端口在哪里(这里是6910).

问题是返回的值只是本地端口和"0.0.0.0"ip地址...

如何扫描当前网络上的所有开放端口(6910)?

c# networking

7
推荐指数
1
解决办法
1926
查看次数

会话丢失时触发客户端事件

正如你们中的一些人可能知道的那样,Facebook正在使用这种"系统",当用户会话由于不活动或远程会话关闭而丢失时会显示弹出窗口.我已经看到并阅读了这个Node.js问题,但没有找到任何内容.

我在加拿大的一家计算机公司工作,我们的主要产品是CRM,所有东西都是用经典ASP编码的.

我知道.

整个基于Web的应用程序运行良好,因为我们在我们的服务器上托管该站点,所以可以在必要时打开端口并使用套接字.

这里提出了一个主要问题:有没有办法(使用javascript库或jQuery插件?)在会话到期时触发客户端事件,或者由于服务器重置而丢失?

当然,最好的方法是使用另一种解决方案,而不是每秒发送一次AJAX请求,以验证用户会话是否仍然存在.如果它可以提供帮助,同时最多可以连接约3,500个用户,我们的服务器可以轻松处理更多流量.这些服务器与IIS 7一起在Windows Server 2008上运行.

不幸的是,我无法为此问题提供任何代码块或屏幕截图,因为无需调试.

一个想法是对一个不返回任何内容的文件使用AJAX请求并挂起.如果会话丢失(不活动或服务器重置),AJAX请求将触发错误并触发"错误"功能.这会是需要考虑的吗?

或者,还有其他建议吗?

javascript session asp-classic

6
推荐指数
1
解决办法
3961
查看次数