我有一個DataGridView,它沒有設置爲ReadOnly。它的列沒有設置爲ReadOnly,並且它所綁定的對象沒有設置爲ReadOnly。但是,我無法編輯DataGridView項目? DataGridView的.DataSource屬性設置爲ReadOnlyCollection>,但我可以通過編程方式更改元素,而不是從用戶界面。這是怎麼回事?爲什麼我不能編輯我的DataGridView中的值,即使它沒有設置爲ReadOnly?
回答
事實證明,如果你的DataGridView綁定到一個ReadOnlyCollection,那麼即使你可以通過編程集合中編輯任何項目,在DataGridView將限制您更改的值。我不確定這種行爲是否是故意的,但是有一點需要注意。
無法重現...請參閱下文。使用ReadOnlyCollection <>無可編輯... – 2009-05-27 12:32:21
我的不好,事實證明,「可以改變的一列」實際上並未正確地綁定到數據源。 – GWLlosa 2009-05-27 14:03:12
這僅僅是一個擴展註釋(因此維基)在櫃檯的「在DataGridView會限制你更改一些值(字符串),而不是其他值(布爾變量)」點;既不可編輯;使它成爲一個List<T>
無一不是可編輯...:
using System;
using System.Collections.ObjectModel;
using System.Windows.Forms;
class Test
{
public string Foo { get; set; }
public bool Bar { get; set; }
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
var data = new ReadOnlyCollection<Test>(
new[] {
new Test {Foo="abc", Bar=true},
new Test {Foo="def", Bar=false},
new Test {Foo="ghi", Bar=true},
new Test {Foo="jkl", Bar=false},
});
Application.Run(
new Form {
Text = "ReadOnlyCollection test",
Controls = {
new DataGridView {
Dock = DockStyle.Fill,
DataSource = data,
ReadOnly = false
}
}
});
}
}
你是如何綁定到您的DataGridView?有一件事是,如果您使用Linq列表作爲從數據庫查詢的數據源並且沒有完整的對象,那麼除非在select函數中指定「with new」,否則這些屬性是隻讀的。您的帖子中沒有很多信息。我希望這有幫助。
採取datagridview
任務,然後點擊編輯欄然後set the column Read Only Property to False
我昨天剛裝VS 2013,最新的版本(更新5)和錯誤仍然存在,導致您所描述的行爲。
總之,爲了解決這個問題,首先確保datagridview設置爲GUI可編輯的。這尤其包括控件右上方的表單設計器中的小箭頭。在箭頭下拉菜單中選擇「啓用編輯」,確保啓用。現在,表單設計師以某種主要方式編輯列(例如添加或刪除列)。就是這樣,當你運行程序時,你會發現GUI編輯現在正在工作。
要重現此錯誤,請在表單設計器內使用datagridview控件右上角的小箭頭將「啓用編輯」設置爲false。現在對列進行重大更改(例如添加或刪除列)。編譯並運行程序。現在回到微型箭頭並重新啓用「啓用編輯」複選框。再次運行該程序。在這一點上,這個錯誤會自我表現出來,並且你會發現即使你在VS中另外配置了datagridview也不是GUI可編輯的。
- 1. 爲什麼我不能將我的QDialog設置爲沒有sizeGrip?
- 2. 爲什麼我的實例變量零,即使我設置它?
- 3. 爲什麼我不能在Fluent NHibernate References()映射上設置ReadOnly?
- 4. 爲什麼我的cookies沒有設置?
- 5. 爲什麼我的cookie沒有設置?
- 6. 爲什麼我的UITableView沒有設置?
- 7. 爲什麼我不能將「this」設置爲C#中的值?
- 8. 爲什麼我不能在ASP.net中編輯dropdownlist的位置?
- 9. 爲什麼我的WTForm HiddenField沒有被設置爲默認值?
- 10. 爲什麼chrome不能立即獲取我的代理設置?
- 11. 即使我不將它設置爲零,爲什麼變量爲零?
- 12. 爲什麼我的Singleton沒有維持它的設定值?
- 13. 爲什麼我不能提交表單,即使沒有
- 14. 爲什麼我不能將值設置爲在div中顯示?
- 15. 爲什麼我不能將它設置爲字符串?
- 16. 爲什麼我的初始值沒有設置爲我的Django表單?
- 17. 爲什麼我不能將圖像設置爲我的UITableViewCell?
- 18. 爲什麼我的textalign不可編輯?
- 19. 爲什麼我的EditText不可編輯?
- 20. 爲什麼我不能設置cookie?
- 21. 爲什麼沒有相機連接,即使我連接了它?
- 22. 爲什麼我不能在我的代碼中輸入設置?
- 23. 爲什麼我不能使用它?
- 24. 爲什麼我不能爲div設置價值?
- 25. 爲什麼p:inputTextArea的值沒有設置?
- 26. 爲什麼我的eclipse沒有設置我的背景顏色?
- 27. 爲什麼我不能在我的子程序中使用它?
- 28. 我爲什麼不能設置位置與編程
- 29. 爲什麼我的cookie值未設置?
- 30. 爲什麼我不能編輯char *中的字符?
你是如何編輯元素的?你認爲你應該看到你沒有看到的行爲是什麼? – David 2009-05-27 12:33:37