如果我有一个返回datagridview的方法,并且流程类似于:
if (ds.Tables.Count == 0)
{
SharedMethods.updateStatus("There are no excluded results to display");
//return dgv;
}
else
{
dgv.DataSource = ds.Tables[0];
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dgv.AllowUserToAddRows = false;
return dgv;
}
如果if条件为真,那么我不想返回datagridview(因为没有数据),在这种情况下我可以返回什么?如果我返回null,那么调用方法有一个null datagridview,导致以后出现问题。
感谢。
答案 0 :(得分:2)
你可以
null
并将null
的特殊案例处理添加到来电者您通常使用3)与IEnumerables<T>
,但我不知道您的返回类型是否支持它。如果您希望在第一种情况下的行为方式与在查询中没有结果相同,则此解决方案最佳。
答案 1 :(得分:2)
您可以设置方法的返回类型以返回错误代码(enum
),并将DataGridView
作为out
或ref
参数。
答案 2 :(得分:1)
如果您无需显示任何内容,只需将网格的Visible属性设置为false。
答案 3 :(得分:0)
我认为你有两种解决方案:
返回空DataGridView
并修改您的调用代码。
返回DataGridView
,但为空DataSource
(因为没有数据),并确保您的调用代码能够应对。
我个人认为2.你仍然有视图但没有数据,所以你仍然需要一个DataGridView
,但它是空的。
答案 4 :(得分:0)
我不会从数据绑定方法返回任何内容。你为什么需要那个? (此代码甚至不会编译,因为真正的块无法返回。)
只需将其作为一种方法。