小编C B*_*C B的帖子

删除最后一行数据绑定DataGridView C#

我正在使用VS 2008/C#并将本地的辅助类列表绑定为DataGridView控件的DataSource.在我的助手类列表上调用Remove()方法会触发DataGridView的CellFormatting事件,这是有意义的(有点).

当删除网格中最后一行的DataBoundItem时(只要网格有多行),DataGridView的Rows集合在此事件触发之前不会更新.因此,在CellFormatting事件处理程序中,我得到一个IndexOutOfRangeException,因为Rows集合太大了.

我尝试使用DataGridView.Rows.Remove()方法删除行,并使用BindingSource进行绑定,而不是直接将List绑定为数据源.

我通过Google找到了一些关于这种情况的引用,但答案要么没有,要么说是在DataGridView或DataGridView.Rows集合上使用Delete()方法 - 目前都不存在.

排序似乎也不是问题,因为执行/不执行排序会导致相同的结果.

"最后一行"唯一的例外是删除问题,如果DataGridView只包含一行 - 在这种情况下一切正常.

c# datagridview

5
推荐指数
2
解决办法
3万
查看次数

确定存储过程是否存在的首选方法是什么

我历来使用以下内容作为存储过程部署脚本的一部分:

IF NOT EXISTS (SELECT * FROM sys.objects O 
   WHERE O.[object_id] = OBJECT_ID(N'[dbo].[SPROC_NAME]') 
   AND OBJECTPROPERTY(O.[object_id],N'IsProcedure') = 1)

    EXEC('CREATE PROCEDURE [dbo].[SPROC_NAME] AS')
GO

ALTER PROCEDURE [dbo].[SPROC_NAME]
AS
BEGIN ...
Run Code Online (Sandbox Code Playgroud)

我不知道OBJECT_ID对象ID查找采用类型的重载,例如:

OBJECT_ID(N'[dbo].[SPROC_NAME]', N'P')
Run Code Online (Sandbox Code Playgroud)

似乎使用该重载会使OBJECTPROPERTY查找变得不必要.

我想知道使用OBJECT_ID过载和丢弃OBJECTPROPERTY查找是否有任何缺点.

t-sql sql-server stored-procedures

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

标签 统计

c# ×1

datagridview ×1

sql-server ×1

stored-procedures ×1

t-sql ×1