2010-10-13 54 views
1

我在Mongodb的列表中有一个datagridview bould。但是我无法编辑网格。我不知道为什么它是这样的?无法在此datagridview中编辑任何值

var connstr = "Server=localhost:27017"; 
mongo = new Mongo(connstr); 
mongo.Connect(); 

IMongoDatabase TorontoTrader = mongo["TorontoTrader"]; 
IMongoCollection TradingStrategyCollection = TorontoTrader["TradingStrategyRefresher"]; 
IEnumerable<Document> docs = 
    from doc in TradingStrategyCollection.Linq() 
    where (int)doc["TriggerBarId"] == 102 
    select doc; 

dataGridView1.ReadOnly = false; 
dataGridView1.DataSource = docs.First().ToList(); 
+1

第一个猜测是ToList没有返回一个具有GridView编辑所需的IEditable接口的集合 – Roadie57 2010-10-13 15:42:46

+0

我不确定是否在调试器下出现,readonly属性设置为false。 http://screencast.com/t/dC63vfoT4 – junkone 2010-10-13 16:02:39

+0

我的理解是,你的集合必须支持数据网格的IEditable接口来支持内置的行编辑。 – Roadie57 2010-10-13 16:41:39

回答

0

我想你必须将你的datagridview的ItemsSource设置为一个observableCollection实例。

dataGridView1.DataSource = new ObservableCollection<Document>(docs.First()); 

这可能会使网格可编辑,但它不会将编辑回存到数据库。