C#的DataGridView中自動在行首新增行號
【問題】
已經可以自動向DataGridView新增資料,增加新行了。
但是想要給每行的行首,自動新增上對應的行號。
【解決過程】
1.參考:
Show row number in row header of a DataGridView
去試試:
初始化:
dgvSearchResult.CurrentRow.HeaderCell.Value = String.Format("{0}", dgvSearchResult.CurrentRow.Index + 1);
每次更新時:
dgvSearchResult.Rows.Add(
singleGigInfo.title,
singleGigInfo.sellerRating,
singleGigInfo.estimatedDelivery,
singleGigInfo.gigRating,
singleGigInfo.ordersInQueue,
singleGigInfo.sellerLevel,
singleGigInfo.hasVideo,
singleGigInfo.isExpressGig,
singleGigInfo.coutryFlag,
singleGigInfo.positiveReviews,
singleGigInfo.negativeReviews,
singleGigInfo.isTopRatedSeller,
singleGigInfo.gigUrl);
dgvSearchResult.Rows[dgvSearchResult.Rows.Count - 1].Selected = true;
dgvSearchResult.FirstDisplayedScrollingRowIndex = dgvSearchResult.Rows.Count - 1;
dgvSearchResult.Rows[dgvSearchResult.Rows.Count - 1].HeaderCell.Value = String.Format("{0}", dgvSearchResult.Rows[dgvSearchResult.Rows.Count - 1].Index + 1);
看看如何。
結果是可以顯示出行號的,但是下次更新時,又消失了:
2.參考:
How to number the rows of DataGridView?
去專門看了看:
RowPostPaint事件
所以雙擊該事件,再去新增程式碼:
private void dgvSearchResult_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
dgvSearchResult.Rows[dgvSearchResult.Rows.Count - 1].HeaderCell.Value = String.Format("{0}", dgvSearchResult.Rows[dgvSearchResult.Rows.Count - 1].Index + 1);
}
試試效果。
結果卻始終重新整理行號1:
3.再去參考:
auto generate row number to datagridview in windows application
乾脆手動畫每個行的行號吧:
for (int count = 0; (count <= (dgvSearchResult.Rows.Count - 2)); count++)
{
dgvSearchResult.Rows[count].HeaderCell.Value = String.Format("{0}", count + 1);
//dgvSearchResult.Rows[count].HeaderCell.Value = string.Format((count + 1).ToString(), "0");
}
然後就可以了:
注意:
其中預設顯示寬度不夠寬,導致超過10以上的,都看到的只是整數部分:
需要自己手動拉寬顯示寬度,即可。。。。
這點,還是很假,很悲催的。。。
剛才讓我誤以為string的format有問題,只能顯示一位呢。。。
【總結】
還是沒有系統自動支援去顯示行號的。。。
還是需要在新增新行後,手動去畫每個HeaderCell才可以的。
轉自:http://www.crifan.com/csharp_datagridview_auto_add_line_number_on_row_head/
相關文章
- javascript會自動在行尾新增分號JavaScript
- 給Winform中的datagridview新增行號ORMView
- C# DataGridView自動換行C#View
- C#對DataGridView進行新增、修改、刪除資料操作C#View
- DataGridView顯示行號-RowPostPaintViewAI
- C# 給Word中的字元新增強調符號(著重號)C#字元符號
- c#中如何使用列表datagridview新增修改刪除直接同步到oracleC#ViewOracle
- C# 從datagridview中匯出到excelC#ViewExcel
- C# 利用Datagridview、BindingNavigator、BindingSource自動顯示資料C#View
- C# winfrom 中datagridview中checkbox的使用方法C#View
- DataGridView通過滑鼠座標,獲取所在行索引View索引
- c#中datagridview裡checkbox的使用方法C#View
- 微信公眾號自動回覆新增檔案
- WinForm:DataGridView新增加行ORMView
- sqlserver查詢結果中新增自動編號SQLServer
- 在c#中把oracle表展示在datagridviewC#OracleView
- C# Datagridview完整攻略C#View
- C#中關於DataGridView行和列的背景色-前景色設定C#View
- WPF中Datagrid控制元件新增行號控制元件
- C# WinForm 取消DataGridView的預設選中Cell 使其不反藍C#ORMView
- Android實現輸入手機號時自動新增空格Android
- 位元組跳動發行的3款中重度遊戲大火,首款自研已在路上遊戲
- c#之datagridview列表與oracle資料庫的互動測試C#ViewOracle資料庫
- WPF中的ListBox怎麼新增刪除按鈕並刪除所在行
- 關於datagridview自動選中最新的一行資料(最後一條資料)View
- C#動態生成EXCLE並進行新增內容(轉)C#
- 說說vue專案中自動新增字首的那些事Vue
- Vim中設定括號自動補全
- ubuntu新增自啟動Ubuntu
- C#執行緒同步自動重置事件——AutoResetEventC#執行緒事件
- 列印DataGridView中的內容View
- 【C#】【DevExpress】 新增行,焦點移動到最後一行C#devExpress
- 關於c#多執行緒中的幾個訊號量C#執行緒
- c#中怎麼自動下載軟體C#
- VS開發中自動版本號的設定-SubWCRev命令
- DataGridView選中整行View
- SDN將在行動網路安全中扮演重要角色
- C# 讓程式自動以管理員身份執行C#