我想将选定的行从我的数据网格视图复制到剪贴板它工作完美,只有一件事:我没有成功从字符串中删除最后 3 个空格。(我也尝试过:clipboard.Remove(clipboard.Length - 3)
和clipboard.Trim()
,但两者都不起作用)
我的功能:
private void menuCopyClipboard_wholeRow_Click(object sender, EventArgs e)
{
#region calculate spaces
int[] spaces = new int[8]; // I have 8 columns in the data grid view
for (int i = 0; i < 8; i++)
spaces[i] = 0;
foreach (DataGridViewRow dgvr in datagridview1.SelectedRows)
foreach (DataGridViewColumn dgvc in datagridview1.Columns)
{
int cellLength = datagridview1.Rows[dgvr.Index].Cells[dgvc.Index].FormattedValue.ToString().Length;
if (spaces[dgvc.Index] < cellLength)
spaces[dgvc.Index] = cellLength;
}
#endregion
string clipboard = "";
foreach (DataGridViewRow dgvr in datagridview1.SelectedRows)
{
foreach (DataGridViewColumn dgvc in datagridview1.Columns)
clipboard += String.Format("{0, -" + spaces[dgvc.Index] + "} ", // 3 spaces between columns
datagridview1.Rows[dgvr.Index].Cells[dgvc.Index].FormattedValue.ToString());
if (dgvr.Index != 0 && datagridview1.SelectedRows.Count > 1) clipboard += "\n"; // to not add enter after last line nor copy one line
}
clipboard.TrimEnd(); // <-- doens't erase spaces
Clipboard.SetText(clipboard);
}
问题:空格没有被删除,如下图所示:
(问题:怎么了?为什么没有删除空格?)