我有一个多行的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