主从表的新增录入中 DataGridView同时新增多行记录
各位大师请帮助,问题如下:
假设有主从表如下:
主表
create table ZB
( id uniqueidentifier constraint df_zb_id default(newid()),
dh varchar(10) not null,
constraint pk_zb_id primary key ( dh )
)
从表
CREATE TABLE [MX] (
[ID] [uniqueidentifier] NOT NULL ,
[XH] [int] NOT NULL ,
[DH] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [PK_MX_ID_XH] PRIMARY KEY CLUSTERED
(
[ID],
[XH]
) ON [PRIMARY] ,
CONSTRAINT [FK_MX_ZB] FOREIGN KEY
(
[ID]
) REFERENCES [ZB] (
[ID]
) ON DELETE CASCADE ON UPDATE CASCADE
)
界面采用 BindingNavigator , zbbindingsource , mxbindingsource ,idtextbox,dhtextbox,mxdatagridview控件,代码中zb 与 mx 间建立了一个关系(仅关系).没有创建外键.其中绑定如下:
BindingNavigator.BindingSource=zbbindingsource
zbbindingsource.DataSource=Dataset.zb
mxbindingsource.DataSource=zbbindingsource
mxbindingsource.DataMember=Dataset.RelationName
idtextbox.DataBindings.Add("Text",zbbindingsource,"id")//主表id TextBox控件
dhtextbox.DataBindings.Add("Text",zbbindingsource,"dh")//主表dh TextBox控件
mxdatagridview.DataSource=mxbindingsource
现在作新单记录入时,为什么mxdatagridview 中只能显示一条当前正在编辑的记录呢(比如当前单据还没有保存,已经编辑了明细记录序号=1,在最后列回车时,序号=1的记录不见,mxdatagridview 里面始终就是一条记录待编辑)?但是,在编辑完一条记录后保存,这时,就把先前编辑的也显示出来.再在最后行新增记录时,这时就不会把前面已编辑的隐藏起来了.也就是必须先保存有明细记录的情况下,再新增明细记录时就不会有上面的问题.如果想在只点一下新增后,在mxdatagridview 一次性的新增N条记录,能行不?给点方法,学习一下,谢谢各位了!