添加新行datagridview以使用默认值

时间:2009-10-21 10:03:10

标签: sql visual-studio tsql data-binding

我有以下SQL创建表并插入第一行数据而没有问题。默认的DateTime值也按预期插入。

CREATE TABLE Jobs (
[Id]       int PRIMARY KEY IDENTITY(1,1),
[JobName]      nvarchar(256) Default 'SomeName', 
[CreateDate]     DateTime DEFAULT GETDATE(),
[ModifyDate]     DateTime DEFAULT GETDATE(),
[LastOpenDate]     DateTime DEFAULT GETDATE(),
[CreatedByUser]     nvarchar(64) Default 'SomeUser',
[Title]       nvarchar(256) Default 'SomeTitle')
GO
INSERT INTO Jobs (JobName)
VALUES ('NewName')
GO

在Visual Studio 2008中,我使用的是DataGridView和BindingNavigator控件。添加新行时,不会插入默认值,而是插入空值。我认为这与控件有关,但不确定如何获取默认值。

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:6)

您可以在DefaultValuesNeeded事件<{p>>上set the default values for the Datagridview

例如:

private void dataGridView1_DefaultValuesNeeded(object sender,
    System.Windows.Forms.DataGridViewRowEventArgs e)
{
    e.Row.Cells["Region"].Value = "WA";
    e.Row.Cells["City"].Value = "Redmond";
    e.Row.Cells["PostalCode"].Value = "98052-6399";
    e.Row.Cells["Region"].Value = "NA";
    e.Row.Cells["Country"].Value = "USA";
    e.Row.Cells["CustomerID"].Value = NewCustomerId();
} 

答案 1 :(得分:1)

请参考此链接以获得一些好结果

http://forums.asp.net/p/1003755/1328318.aspx#1328318