/// <summary></summary> private void FillGrid() { gridMain.BeginUpdate(); gridMain.Columns.Clear(); ODGridColumn col = new ODGridColumn(Lan.g(this, "User"), 70); gridMain.Columns.Add(col); col = new ODGridColumn(Lan.g(this, "Del"), 25); gridMain.Columns.Add(col); col = new ODGridColumn(Lan.g(this, "Saved"), 80); gridMain.Columns.Add(col); gridMain.Rows.Clear(); List <WikiPageHist> listWikiPageHists = WikiPageHists.GetByTitleNoPageContent(PageTitleCur); WikiPage wp = WikiPages.GetByTitle(PageTitleCur); if (wp != null) { listWikiPageHists.Add(WikiPages.PageToHist(wp)); } Dictionary <long, string> dictUsers = Userods.GetUsers(listWikiPageHists.Select(x => x.UserNum).Distinct().ToList()) //gets from cache, very fast .ToDictionary(x => x.UserNum, x => x.UserName); //create dictionary of key=UserNum, value=UserName for fast lookup foreach (WikiPageHist wPage in listWikiPageHists) { ODGridRow row = new ODGridRow(); string userName; if (!dictUsers.TryGetValue(wPage.UserNum, out userName)) { userName = ""; } row.Cells.Add(userName); row.Cells.Add((wPage.IsDeleted?"X":"")); row.Cells.Add(wPage.DateTimeSaved.ToString()); row.Tag = wPage; gridMain.Rows.Add(row); } gridMain.EndUpdate(); gridMain.SetSelected(gridMain.Rows.Count - 1, true); //There will always be at least one page in the history (the current revision of the page) gridMain.ScrollToEnd(); //in case there are LOTS of revisions }
/// <summary></summary> private void FillGrid() { gridMain.BeginUpdate(); gridMain.Columns.Clear(); ODGridColumn col = new ODGridColumn(Lan.g(this, "User"), 70); gridMain.Columns.Add(col); col = new ODGridColumn(Lan.g(this, "Del"), 25); gridMain.Columns.Add(col); col = new ODGridColumn(Lan.g(this, "Saved"), 80); gridMain.Columns.Add(col); gridMain.Rows.Clear(); ListWikiPageHists = WikiPageHists.GetByTitle(PageTitleCur); ListWikiPageHists.Add(WikiPages.PageToHist(WikiPages.GetByTitle(PageTitleCur))); for (int i = 0; i < ListWikiPageHists.Count; i++) { ODGridRow row = new ODGridRow(); row.Cells.Add(Userods.GetName(ListWikiPageHists[i].UserNum)); row.Cells.Add((ListWikiPageHists[i].IsDeleted?"X":"")); row.Cells.Add(ListWikiPageHists[i].DateTimeSaved.ToString()); gridMain.Rows.Add(row); } gridMain.EndUpdate(); }