private void ListIDPeak(GlycanStructure argStructure) { DataTable dtIDPeak = new DataTable(); DataColumn dcMass = new DataColumn("Glycopeptide m/z", Type.GetType("System.Single")); DataColumn dcScore = new DataColumn("Score", Type.GetType("System.Single")); DataColumn dcStructure = new DataColumn("Structure", typeof(Image)); dtIDPeak.Columns.Add(dcMass); dtIDPeak.Columns.Add(dcScore); dtIDPeak.Columns.Add(dcStructure); dgIDPeak.DataSource = dtIDPeak; dgIDPeak.Columns[0].Width = 70; dgIDPeak.Columns[1].Width = 50; dgIDPeak.Columns[2].Width = 315; dtIDPeak.DefaultView.Sort = "Glycopeptide m/z"; GlycansDrawer GDraw; foreach (GlycanTreeNode GT in argStructure.Root.FetchAllGlycanNode()) { DataRow row = dtIDPeak.NewRow(); row[0] = GT.IDMass; row[1] = GT.IDIntensity; string tmp = argStructure.GetSequqncedIUPACwNodeID(GT.NodeID); GDraw = new GlycansDrawer(tmp); row[2] = GDraw.GetImage(); dtIDPeak.Rows.Add(row); GT.GetIUPACString(); } dgIDPeak.Sort(dgIDPeak.Columns[0], ListSortDirection.Descending); for (int i = 0; i < dtIDPeak.Rows.Count; i++) { this.dgIDPeak.AutoResizeRow(i); } this.dgIDPeak.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft; }