我无法附上任何图像,因此问题可能不明确.
无论如何,提前谢谢.
解决方法 要使用额外内容创建DataGrIDVIEw单元,您需要对CellPainting事件进行编码.首先,您将单元格设置为有足够的空间容纳额外内容,并根据需要布置正常内容..:
DataGrIDVIEw DGV = dataGrIDVIEw1; // quick referenceFont fatFont = new Font("Arial Black",22f);DGV .DefaultCellStyle.Font = fatFont;DGV .RowTemplate.Height = 70;DGV .DefaultCellStyle.Alignment = DataGrIDVIEwContentAlignment.topCenter;
接下来我填写一些内容;我将额外的内容添加到单元格的标签中.对于包含更多字体等的更复杂的东西,你需要创建一个类或结构来保存它,也许还可以在Tags中.
DGV.Rows.Clear();DGV.Rows.Add(3);DGV[1,0].Value = "Na"; DGV[1,0].Tag = "Natrium";DGV[1,1].Value = "Fe"; DGV[1,1].Tag = "ferrum";DGV[1,2].Value = "Au"; DGV[1,2].Tag = "Aurum";
以下是编码CellPainting事件的示例:
private voID dataGrIDVIEw1_CellPainting(object sender,DataGrIDVIEwCellPaintingEventArgs e){ if (e.RowIndex < 0) return; // header? nothing to do! if (e.ColumnIndex == yourAnnotatedColumnIndex ) { DataGrIDVIEwCell cell = dataGrIDVIEw1[e.ColumnIndex,e.RowIndex]; string footnote = ""; if (cell.Tag != null) footnote = cell.Tag.ToString(); int y = e.CellBounds.Bottom - 15; // pick your Font height e.PaintBackground(e.ClipBounds,true); // show selection? why not.. e.PaintContent(e.ClipBounds); // normal content using (Font smallFont = new Font("Times",8f)) e.Graphics.DrawString(footnote,smallFont,cell.Selected ? Brushes.White : Brushes.Black,e.CellBounds.left,y); e.Handled = true; }}
对于较长的多行脚注,您可以使用边界矩形而不仅仅是x& y坐标.
总结以上是内存溢出为你收集整理的c# – 如何在datagridview中为单元格创建页脚全部内容,希望文章能够帮你解决c# – 如何在datagridview中为单元格创建页脚所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)