如何在 datagridview 中传递子字符串或单个字符

how to pass a substring or single character within datagridview

如何在 datagridview 中传递子字符串或单个字符。 例如:我有一个像 'animal?species' 这样的字符串 我需要将 'animal' 传递给 datagridview 的另一个单元格,我该怎么做? 任何帮助都会很棒,谢谢。

编辑:

private void keypress1(object sender, KeyPressEventArgs e)
    {
        if (dataGridView1.CurrentCell.ColumnIndex == 0 || dataGridView1.CurrentCell.ColumnIndex == 1)
        {
            if (e.KeyChar >= 48 && e.KeyChar <= 57 && e.KeyChar==8 ) {}
            else
            {                   
                e.Handled = true;                    
            }
        }
        if(dataGridView1.CurrentCell.ColumnIndex==4)
        {
            string test = "";
            if (e.KeyChar == 92)
            {
                dataGridView1.CurrentRow.Cells[7].Value = null;
                //dataGridView1.Columns["dom"].ReadOnly = true;  bad code
                test = dataGridView1.CurrentCell.Value.ToString();
                string[] splittedtest = test.Split('?');
                for (int i = 0; i < splittedtest.Length; i++)
                {
                    dataGridView1.Rows[dataGridView1.SelectedRows[0].Index].Cells[7].Value = splittedtest[i];
                }
            }

        }
    } 

当涉及到test = dataGridView1.CurrentCell.Value.ToString();时出现nullexception。我猜是因为值还没有提交。

您可以使用 'Split' 功能。这可能会提示您继续操作。

string test = "animal?species";
string [] splittedtest = string.Split(new Char[] { '?', '\' },
                             StringSplitOptions.RemoveEmptyEntries);
//string[] splittedtest = test.Split('?');
for(int i = 0;i<splittedtest.length;i++)
{
   // do your stuffs like below,  
   // DataGridView1.Rows[DataGridView.SelectedRows[0].Index].Cells[X].Text = splittedtest[i];
   // where X is the column you want to read. 
}