2010-11-16 50 views
0

我有一个页面,将数据从数据库绑定到DetailsView。DetailsView更新命令不会更新,除非所有的字段都存在!

我想使用自动生成的Update命令。

一切正常,并且更新成功,但如果我删除了任何我不想更新的字段,那么Update命令不会更新!旧的价值保留!

我的意思是:如果所有字段都存在于detailsView中,则更新将会成功,否则更新将不会更新任何内容。

我试图将我不想查看的字段标记为“Visible ='false'”,但没有好的结果!

我怎么能隐藏一些字段?

谢谢:)

回答

0

你试图把现场你不希望在“只读=真正的”太更新?这应该标记他们不会被更新。

+0

谢谢,这应使现场成为出现,但没有更新,但我的目标,以不认为这在所有! – 2010-11-16 18:38:27

+0

Didi您尝试将其设置为'Visible = False'并且'ReadOnly = True'? – Sashenka 2010-11-16 18:49:20

+0

是的,我尝试过,但考虑因为它不包括在内,没有更新发生:( – 2010-11-16 19:13:32

0

这里是做这件事的方式..

protected void DetailsView1_ModeChanged(object sender, EventArgs e) 
{ 
    if (DetailsView1.CurrentMode == DetailsViewMode.Edit) 
    { 
     foreach (DataControlField fd in DetailsView1.Fields) 
     { 
      BoundField tmp = fd as BoundField; 
      if (tmp != null) 
       if (tmp.DataField == "YourReadOnlyColumnName") 
        tmp.ReadOnly = true; 
     } 

    } 
} 
+0

谢谢,这应该使该字段出现,但不能更新,但我的目标是不要查看它! – 2010-11-16 18:37:50