C#实现DataGridView控件行列互换的方法

C#实现DataGridView控件行列互换的方法,第1张

概述本文实例讲述了C#实现DataGridView控件行列互换的方法。分享给大家供大家参考。具体如下:

本文实例讲述了C#实现DataGrIDVIEw控件行列互换的方法。分享给大家供大家参考。具体如下:

该示例程序是一个windows窗体应用程序,有左右两个DataGrIDVIEw控件:dgvleft和dgvRight

dgvRight除时间外的每一行是dgvleft的一列

private voID Form1_Load(object sender,EventArgs e){ //C#中确定控件DataGrIDVIEw根据内容自动调整列宽长度的属性 //是autoSizeColumnsMode,将它的值设置为AllCells时可以达到该效果。 //调整行每行头部的宽度(可以更好地显示出数字) this.dgvleft.RowheadersWIDth = 50; this.dgvRight.RowheadersWIDth = 50; //左侧数据表 Datatable dtleft = new Datatable(); dtleft.Columns.Add("C1"); dtleft.Columns.Add("C2"); dtleft.Columns.Add("C3"); dtleft.Columns.Add("TIME"); dtleft.Rows.Add("1-1","1-2","1-3",DateTime.Now.ToShortTimeString()); dtleft.Rows.Add("2-1","2-2","2-3",DateTime.Now.ToShortTimeString()); dtleft.Rows.Add("3-1","3-2","3-3",DateTime.Now.ToShortTimeString()); dtleft.Rows.Add("4-1","4-2","4-3",DateTime.Now.ToShortTimeString()); dtleft.Rows.Add("5-1","5-2","5-3",DateTime.Now.ToShortTimeString()); dtleft.Rows.Add("6-1","6-2","6-3",DateTime.Now.ToShortTimeString()); dgvleft.DataSource = dtleft; //右侧数据表,是左侧数据表的转置 Datatable dtRight = new Datatable(); for (int i = 0; i < dtleft.Rows.Count; i++) {  dtRight.Columns.Add("C" + i); } dtRight.Columns.Add("TIME"); for (int i = 0; i < dtleft.Columns.Count - 1; i++) {  object[] obj = new object[dtleft.Rows.Count + 1];  for (int j = 0; j < dtleft.Rows.Count; j++)  {   obj[j] = dtleft.Rows[j][i];  }  obj[obj.Length - 1] = DateTime.Now.ToShortTimeString();  dtRight.Rows.Add(obj); } dgvRight.DataSource = dtRight;}

每一行的行号可以通过下面的方法添加

//DataGrIDVIEw 控件 dgvleft 的 RowsAdded 事件private voID dgvleft_RowsAdded(object sender,DataGrIDVIEwRowsAddedEventArgs e){ for (int i = 0; i < dgvleft.Rows.Count; i++) {  this.dgvleft.Rows[i].headerCell.Style.Alignment =    DataGrIDVIEwContentAlignment.MIDdleRight;  this.dgvleft.Rows[i].headerCell.Value = i.ToString(); }}//DataGrIDVIEw 控件 dgvleft 的 RowsRemoved 事件private voID dgvleft_RowsRemoved(object sender,DataGrIDVIEwRowsRemovedEventArgs e){ for (int i = 0; i < dgvleft.Rows.Count; i++) {  this.dgvleft.Rows[i].headerCell.Style.Alignment =   DataGrIDVIEwContentAlignment.MIDdleRight;  this.dgvleft.Rows[i].headerCell.Value = i.ToString(); }}//DataGrIDVIEw 控件 dgvRight 的 RowsAdded 事件private voID dgvRight_RowsAdded(object sender,DataGrIDVIEwRowsAddedEventArgs e){ for (int i = 0; i < dgvRight.Rows.Count; i++) {  this.dgvRight.Rows[i].headerCell.Style.Alignment =   DataGrIDVIEwContentAlignment.MIDdleRight;  this.dgvRight.Rows[i].headerCell.Value = i.ToString(); }}//DataGrIDVIEw 控件 dgvRight 的 RowsRemoved 事件private voID dgvRight_RowsRemoved(object sender,DataGrIDVIEwRowsRemovedEventArgs e){ for (int i = 0; i < dgvRight.Rows.Count; i++) {  this.dgvRight.Rows[i].headerCell.Style.Alignment =    DataGrIDVIEwContentAlignment.MIDdleRight;  this.dgvRight.Rows[i].headerCell.Value = i.ToString(); }}

运行效果如下图所示:

希望本文所述对大家的C#程序设计有所帮助。

总结

以上是内存溢出为你收集整理的C#实现DataGridView控件行列互换的方法全部内容,希望文章能够帮你解决C#实现DataGridView控件行列互换的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1260864.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存