C#實(shí)現(xiàn)DataGridView控件行列互換的方法
本文實(shí)例講述了C#實(shí)現(xiàn)DataGridView控件行列互換的方法。分享給大家供大家參考。具體如下:
該示例程序是一個(gè)Windows窗體應(yīng)用程序,有左右兩個(gè)DataGridView控件:dgvLeft和dgvRight
dgvRight除時(shí)間外的每一行是dgvLeft的一列
private void Form1_Load(object sender, EventArgs e) { //C#中確定控件DataGridView根據(jù)內(nèi)容自動(dòng)調(diào)整列寬長(zhǎng)度的屬性 //是AutoSizeColumnsMode,將它的值設(shè)置為AllCells時(shí)可以達(dá)到該效果。 //調(diào)整行每行頭部的寬度(可以更好地顯示出數(shù)字) this.dgvLeft.RowHeadersWidth = 50; this.dgvRight.RowHeadersWidth = 50; //左側(cè)數(shù)據(jù)表 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; //右側(cè)數(shù)據(jù)表,是左側(cè)數(shù)據(jù)表的轉(zhuǎn)置 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; }
每一行的行號(hào)可以通過(guò)下面的方法添加
//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(); } }
運(yùn)行效果如下圖所示:
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
- C# Winform 子窗體訪問(wèn)父級(jí)窗體的控件和屬性
- C#使用Aspose.Cells控件讀取Excel
- C#實(shí)現(xiàn)多選項(xiàng)卡的瀏覽器控件
- C#實(shí)現(xiàn)用戶自定義控件中嵌入自己的圖標(biāo)
- C#實(shí)現(xiàn)讀取DataSet數(shù)據(jù)并顯示在ListView控件中的方法
- C#日期控件datetimepicker保存空值的三種方法
- C#多線程與跨線程訪問(wèn)界面控件的方法
- C#后臺(tái)創(chuàng)建控件并獲取值的方法
- C#實(shí)現(xiàn)簡(jiǎn)單的loading提示控件實(shí)例代碼
相關(guān)文章
C#實(shí)現(xiàn)的UDP收發(fā)請(qǐng)求工具類實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)的UDP收發(fā)請(qǐng)求工具類,結(jié)合具體實(shí)例形式分析了C#針對(duì)UDP請(qǐng)求的監(jiān)聽(tīng)、接收、發(fā)送等相關(guān)操作技巧,需要的朋友可以參考下2017-06-06C#網(wǎng)頁(yè)跳轉(zhuǎn)方法總結(jié)
這篇文章主要介紹了C#網(wǎng)頁(yè)跳轉(zhuǎn)方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2015-12-12C#通過(guò)HttpWebRequest發(fā)送帶有JSON Body的POST請(qǐng)求實(shí)現(xiàn)
本文主要介紹了C#通過(guò)HttpWebRequest發(fā)送帶有JSON Body的POST請(qǐng)求實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09C# DataSet查看返回結(jié)果集的實(shí)現(xiàn)
這篇文章主要介紹了C# DataSet查看返回結(jié)果集的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10c#實(shí)現(xiàn)一個(gè)超實(shí)用的證件照換底色小工具(附源碼)
這篇文章主要給大家介紹了關(guān)于利用c#實(shí)現(xiàn)一個(gè)超實(shí)用的證件照換底色小工具的相關(guān)資料,通過(guò)這個(gè)小工具大家可以很方便的進(jìn)行底色的切換,不用再因?yàn)榈咨脑蝾^疼了,需要的朋友可以參考借鑒,下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01vista和win7在windows服務(wù)中交互桌面權(quán)限問(wèn)題解決方法:穿透Session 0 隔離
服務(wù)(Service)對(duì)于大家來(lái)說(shuō)一定不會(huì)陌生,它是Windows 操作系統(tǒng)重要的組成部分。我們可以把服務(wù)想像成一種特殊的應(yīng)用程序,它隨系統(tǒng)的“開(kāi)啟~關(guān)閉”而“開(kāi)始~停止”其工作內(nèi)容,在這期間無(wú)需任何用戶參與2016-04-04C# WinForm中Panel實(shí)現(xiàn)用鼠標(biāo)操作滾動(dòng)條的實(shí)例方法
由于在WinForm中Panel不能直接響應(yīng)鼠標(biāo)的滾動(dòng)事件,只好采用捕獲窗體的滾動(dòng)事件。2013-03-03