我有一個多行的DataGridView,你會如何找到字符串在Cell.Value
字符串中的位置?如何找到一行在dataGridView單元格中的位置?
0
A
回答
1
string testLength = "1";
private void DataSheets_Load(object sender, EventArgs e) //DataGridView, 2 columns
{
clmData.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
Data.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
Data.DefaultCellStyle.Font = new Font("Courier", 8);
RunWidth();
}
void RunWidth()
{
int l1 = len(testLength);
int l2 = len(testLength + testLength);
int perChar = l2 - l1;
int pad = l1 - perChar;
int s7 = pad + (perChar * 75);
int s5 = pad + (perChar * 50);
Data.Columns[0].Width = s7;
Data.Columns[1].Width = s5;
}
public int len(string text)
{
Size te = TextRenderer.MeasureText(text, new Font("Courier", 8));
return te.Width;
}
我自己解決了這個問題,但如果有人找到更多的方法來找到類似的功能,請繼續發佈結果。
+1
YOu可以接受你自己的帖子 – Kinected 2013-02-24 02:18:34
0
只是因爲它有很多的好消息:
Here's a very well elaborated answer on differences between TextRenderer.MeasureText()
and Graphics.MeasureString()
我有一個類似的問題;我想知道有多少行被包裹when drawing a DataGridViewRow
by myself創建(代碼是C++/CLI):
void PaintRow (Object^ sender, DataGridViewRowPrePaintEventArgs^ e)
{
...
int iCharacters = 0, iLines = 0;
SizeF oLayoutArea ((float)dgvRow->Cells[ixCell]->Size.Width, 0);
SizeF oTextSize = e->Graphics->MeasureString (sText,
dgvRow->Cells[ixCell]->InheritedStyle->Font,
oLayoutArea,
oStringFormat,
iCharacters,
iLines);
關於你的問題:
我將採取相同的代碼,並找出有多少行是由完整的創建字符串,例如2行。
然後取一半字符串,並檢查你得到的行數,例如1行。
因爲之前的行數不多,我會再次讀取更多文本(總是差異的一半)並再次測試。 繼續下去,直到你把它分解成一個字符,並得到你的結果長度適合沒有包裝。
相關問題
- 1. 確定DataGridView中的單元格位置
- 2. 如何在datagridview的最後一行獲取一些單元格?
- 3. 如何隱藏DataGridView控件上的當前單元格位置?
- 4. 如何在DataGridView單元格中設置格式掩碼?
- 5. 如何在DataGridView中編輯單元格?
- 6. 如何在DataGridView中獲取當前單元格的位置x和y?
- 7. 如何從DragDrop事件定位datagridview行或單元格?
- 8. 如何設置DataGridView中單個單元格的背景顏色?
- 9. 如何驗證DataGridView中的單元格?
- 10. 如何更新datagridview中的單元格?
- 11. 如何找出tableView單元格中contentViews的位置?
- 12. Excel - 單元格的查找點位置
- 13. datagridview行單元格值
- 14. DataGridView單元格中的多行
- 15. DataGridView中的換行符單元格vb.net
- 16. 如何在DataGridView單元格中爲工具提示設置autoPopDelay?
- 17. DataGridView單元格
- 18. 如果DataGridView的單元格值大於另一個單元格
- 19. 如何在datagridview的單元格單擊事件上向datagridview添加新行?
- 20. 在DataGridView中選擇新行的第一個可見單元格
- 21. 在c中datagridview的每一行讀取單元格#
- 22. 如何在DataGridView中更改單元格值時進行監視?
- 23. 如何在Excel中找到一組重複的單元格?
- 24. 如何將一些文本設置爲datagridview單元格,當它的單元格在c#中包含0值時?
- 25. 如何找到在DataGridView中
- 26. Java POI:如何查找帶有字符串值的Excel單元格並獲取其位置(行)以使用該位置來查找另一個單元格
- 27. 在Datagridview中格式化單元格
- 28. 如何在VBA中找到第一個空單元格?
- 29. 將單元格值添加到同一個datagridview中的另一個單元
- 30. 在datagridview的單元格中調整位圖圖像大小
閱讀http://stackoverflow.com/faq – nawfal 2013-02-22 14:24:05
取決於您的列寬:http://msdn.microsoft.com/de-de/library/system.windows.forms.datagridviewcolumn.width.aspx – jAC 2013-02-22 14:24:30