小编Blu*_*eft的帖子

在DataGridView上移动行时的可视标记

用户在我的DataGridView中上下拖动行.我有拖动逻辑,但我希望有一个黑色标记,指示在放开鼠标后行将放置在哪里.

Microsoft Access中的示例http://img718.imageshack.us/img718/8171/accessdrag.png
来自Microsoft Access的示例; 我想拖动行而不是列

有谁知道我会怎么做呢?这是内置的,还是我必须绘制自己的标记(如果是这样,我该怎么做)?

谢谢!

.net c# drag-and-drop datagridview winforms

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

在SQL Server中优化ROW_NUMBER()

我们有许多机器以零星的间隔将数据记录到数据库中.对于每条记录,我想获得录制和上一次录制之间的时间段.

我可以使用ROW_NUMBER执行此操作,如下所示:

WITH TempTable AS (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY Machine_ID ORDER BY Date_Time) AS Ordering
    FROM dbo.DataTable
)

SELECT [Current].*, Previous.Date_Time AS PreviousDateTime
FROM TempTable AS [Current]
INNER JOIN TempTable AS Previous 
    ON [Current].Machine_ID = Previous.Machine_ID
    AND Previous.Ordering = [Current].Ordering + 1
Run Code Online (Sandbox Code Playgroud)

问题是,它真的很慢(在一个有大约10k条目的表上几分钟) - 我尝试在Machine_ID和Date_Time上创建单独的指示,以及一个连接索引,但没有任何帮助.

无论如何重写此查询以更快?

t-sql sql-server optimization sql-server-2005 query-optimization

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

在验证文本框/复选框之前,文本框/复选框的数据绑定值不正确

我有一个winforms复选框,绑定到Entity Framework实体的属性.

因此,例如,我有bindingSource.DataSource = myDog一个绑定到属性的复选框IsSleeping,以便当用户选中该框时,IsSleeping变为true,并且当用户取消选中该框时,IsSleeping将变为false.

这很好用.问题是,价值IsSleeping不更新,直到该复选框被验证,只有当焦点发生移动远离从复选框别的东西.因此,如果我想在取消选中该框时发生某些事情:

private void IsSleepingCheckbox_CheckedChanged(object sender, EventArgs e)
{
    OnDogPropertyChanged(myDog);
    MyAnimalEntities.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

myDog.IsSleeping仍然是真的,直到Validated稍后提出复选框.因此,当穷人myNaughtyKitty (谁正在听这个DogPropertyChanged事件)来吃饭时,myDog想着myDog睡觉的食物菜,myDog真的只是醒来! 不好了!

更糟糕的是,MyAnimalEntities.SaveChanges()还没有看到更改myDog,因此值IsSleeping永远不会保存到数据库中.移动.SaveChanges()呼叫IsSleepingCheckbox_Validated并不能解决这个问题,因为如果复选框被切换但是表格被关闭而没有将焦点离复选框,则复选框永远不会被验证,因此它的状态永远不会被保存!

我想这对于数据绑定和复选框/文本框来说一定是一个相当常见的问题,事实上我在网上发现了大量关于这个主题的帖子,但似乎没有人有过解决方案. 有没有人能够为此找到解决方法?

.net c# data-binding entity-framework winforms

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

找到边数最少的最短路径

我需要修改Dijkstra的算法,这样如果有几条最短的路径,我需要找到路径上边数最小的路径.

我一直坚持如何使用Dijkstra的方法找到多条最短路径,你是怎么做到的?它不总是只输出1条最短路径?伪代码或任何一般方向将是非常有帮助的.

algorithm dijkstra shortest-path

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

多线程...函数式语言?(序言)

当我的朋友开始在学校学习Prolog时,我取笑他学习一种无用的语言.然而,他向我展示了一些我从未知道的东西; 我想知道这种技术的来源.

技术是这样的:

permutation(List) :-
    isAMember(X, List),
    deleteFirstElement(X, List, Substring),
    % and so on
Run Code Online (Sandbox Code Playgroud)

在这段代码中,isAMember(X, List)是一个函数,如果X在,则返回true List.然而,到现在为止X没有被定义为一个变量- 这样的计划将产生一堆新的线程,每一个可能的值X,使isAMember(X, List)真实的,并从那里继续.

这使我们能够以我能想象到的最简单,最优雅的方式创建多线程算法.

所以我的问题是: 这是Prolog特定的,还是所有逻辑和/或功能语言的特征? 另外,我在哪里可以学到更多这样令人惊叹的多线程技术 - 这无疑是编程的未来.

multithreading functional-programming prolog logic-programming

5
推荐指数
1
解决办法
955
查看次数

使用LINQ到实体的OrderBy和Distinct

这是我的LINQ查询:

(from o in entities.MyTable
orderby o.MyColumn
select o.MyColumn).Distinct();
Run Code Online (Sandbox Code Playgroud)

结果如下:

{"a", "c", "b", "d"}
Run Code Online (Sandbox Code Playgroud)

这是生成的SQL:

SELECT 
[Distinct1].[MyColumn] AS [MyColumn]
FROM ( SELECT DISTINCT 
    [Extent1].[MyColumn] AS [MyColumn]
    FROM [dbo].[MyTable] AS [Extent1]
)  AS [Distinct1]
Run Code Online (Sandbox Code Playgroud)

这是一个错误吗?我的订单在哪里,该死的?

sql linq linq-to-entities sql-server-2008

5
推荐指数
1
解决办法
6403
查看次数

检查是否连接了打印机

Windows(在Windows CE中有效)是否有办法检查打印机是否已连接并在C++中与LPT1通信?


[编辑]更多信息:

我们目前正在使用通用的Windows CE打印机驱动程序pcl.dll- 通过将其传入CreateDC,以获取打印机的DC.

我们无法调用PrintDlg()显示打印对话框,因为它"太复杂了",但我们也无法调用它,PD_RETURNDEFAULT因为我们不想使用默认打印机.所以,我们手动设置一个DEVMODE传递给的结构CreateDC.

我们有DC后,我们调用GetDeviceCaps()得到打印机的信息(如页面宽度,等等),然后StartPage()/ EndPage()/ ExtTextOut()打印.

但是,如果没有连接打印机,程序会冻结大约一分钟,然后再"中止/重试/失败?" 对话框(我不知道在这个过程中它冻结了什么点).当您尝试打印时,其他软件不会冻结,因此必须有一种方法可以防止这种情况......

c++ windows printing windows-mobile windows-ce

5
推荐指数
1
解决办法
2295
查看次数

如何在Windows 8中的桌面应用程序中访问Metro应用程序的本地存储?

在.Net中是否有可用的API?在Windows API中怎么样?如果没有,有没有人想出一些hackish-way来做到这一点呢?

.net c# c++ microsoft-metro windows-8

5
推荐指数
1
解决办法
2063
查看次数

进行预检请求时是否需要Access-Control-Allow-Origin CORS标头?

我们在我们的网站上看到了众所周知的CORS错误:

XMLHttpRequest无法加载https://my-site.com/api。所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问来源“ https://my-other-site.com ”。

关键是,在Access-Control-Allow-Origin 正确设置预检的请求......

OPTIONS https://my-site.com/api HTTP/1.1
Host: my-site.com
Access-Control-Request-Method: POST
Origin: https://my-other-site.com
Access-Control-Request-Headers: my-custom-header, accept, content-type
Accept: */*
Referer: https://my-other-site.com/
...other stuff...


HTTP/1.1 200 OK
Access-Control-Allow-Origin: https://my-other-site.com
Access-Control-Allow-Methods: POST
Access-Control-Allow-Headers: my-custom-header, accept, content-type
Access-Control-Expose-Headers: my-custom-header
...other stuff...
Run Code Online (Sandbox Code Playgroud)

...但是,它没有在后续请求中设置。

POST https://my-site.com/api HTTP/1.1
Host: my-site.com
Accept: */*
My-Custom-Header: abcd123
Origin: https://my-other-site.com
Referer: https://my-other-site.com/
...other stuff...


HTTP/1.1 200 OK
My-Custom-Header: abcd123
...other stuff...
Run Code Online (Sandbox Code Playgroud)

我不明白这个问题。根据我在网上阅读的所有内容,如果我们使用预检请求,则无需为实际请求添加CORS标头。但是,事实显然并非如此。

此处此处的所有示例均Access-Control-Allow-Origin实际响应中包含标头,但不包含任何其他 …

javascript security cors web

5
推荐指数
1
解决办法
2255
查看次数

如何将Unity支持添加到NuGet包中?

如何将程序包发布到支持Unity(游戏引擎)的NuGet?

另外,我是否需要安装Unity来编译它,或者是否足够针对特定的框架版本?

c# unity-game-engine nuget

5
推荐指数
1
解决办法
6209
查看次数