小编Dav*_*vid的帖子

INT32?与IComparable

我有一个DataGridView,其数据源是BindingList.MyObj有一些可以为空的属性(比如int?和DateTime?)我想实现对绑定列表的排序,因此当用户点击列标题时,DataGridView可以对列进行排序.

经过一番挖掘,我发现并遵循了这个问题的答案(使用Business Objects进行DataGridView列排序).

我无法让这个解决方案适用于Nullable类型,因为它们没有实现IComparable.即使对于像String这样实现IComparable的类,当String具有空值时,ApplySortCore(...)也会失败.

这有解决方案吗?或者我是否必须为"Int32"实现包装类??

例如

public class Int32Comparable : IComparable
{
    public int? Value { get; set; }

    #region IComparable<int?> Members

    public int CompareTo(object other)
    {
        // TODO: Implement logic here
        return -1;
    }

    #endregion
}
Run Code Online (Sandbox Code Playgroud)

.net c#

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

Linq to Sql - 将 JOIN 结果填充到列表中

我不确定这是否可以做到,但情况如下。

我想把这个sql变成linq:

SELECT * FROM Department d
INNER JOIN Employee e ON e.DepartmentID = d.DepartmentID
Run Code Online (Sandbox Code Playgroud)

部门-员工是一对多的关系。

我创建了一个自定义对象,我想将结果填充到其中。

public class DepartmentSummary
{
    public Department Department { get; set; }
    public List<Employee> Employees {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我想出的 Linq 是

var result = from d in dba.Department
             join e in dba.Employee d.DepartmentID equals e.DepartmentID into j1
             select new DepartmentSummary
             {
                  Department = d,
                  Employees = j1.ToList()
             };
Run Code Online (Sandbox Code Playgroud)

我尝试了一下,但不起作用。有人能给我一些启发吗?我想在部门和员工之间执行内部联接。对于结果集中的每个部门,我想创建一个 DepartmentSummary 对象,该对象保存该部门以及属于该部门的员工列表。

Linq 是否为此提供了临时解决方案,或者我必须迭代结果集并手动创建 DepartmentSummary 列表?

谢谢,

编辑:看起来这对我有用

var result = from d in dba.Department …
Run Code Online (Sandbox Code Playgroud)

.net c# linq-to-sql

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

删除 TabPage:处置或清除或两者兼而有之?

我正在开发一个 Windows 窗体,它有一个名为 tabDocuments 的 TabControl。我遇到了这段代码,它从 TabControl 中删除所有页面。

for (int i = tabDocuments.TabPages.Count - 1; i > -1; i--) {
    tabDocuments.TabPages[i].Dispose();
}
    tabDocuments.TabPages.Clear();
Run Code Online (Sandbox Code Playgroud)

写这段代码的人已经离开一段时间了。我试图理解为什么代码在处理每个 tabPages 之后调用 Clear() (对我来说看起来没有必要)。谁能向我解释一下为什么吗?或者调用 Clear() 是额外的吗?

.net c# tabcontrol winforms

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

没有列名列表的tsql标识插入

我要将一些数据从一个数据库转储到另一个数据库.我在用

set identity_insert MyTable on
GO
INSERT INTO MyTable SELECT * FROM sourceDB.dbo.MyTable
GO
set identity_insert MyTable off
Run Code Online (Sandbox Code Playgroud)

无论如何要让它工作?有30个表,将列名列表添加到insert语句将非常耗时.我正在使用SQL Server 2000.将在不久的将来升级到SQL Server 2008.

编辑:MyTable有一个标识列.

t-sql sql-server

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

标签 统计

.net ×3

c# ×3

linq-to-sql ×1

sql-server ×1

t-sql ×1

tabcontrol ×1

winforms ×1