在datagridview列中拆分文本消息

时间:2014-03-10 13:02:01

标签: c# .net datagridview

我已经使用消息接收创建了tcpserver监听器。消息格式例如是:“acc123 | 472348923748989234”。

我想分开“|”在我的datagridview列中。第一条消息显示正常,但是在分割后第二条消息返回错误:System.IndexOutOfRangeException: Index was outside the bounds of the array

到目前为止,这是我的代码:

void Timer1_Tick(object sender, EventArgs e)
{
    string _acc = textFromClient3 ;
    string[] txt = _acc.Split(new[] {'|'}, StringSplitOptions.None);

    for (int row = 0; row < dataGridView1.Rows.Count; row++)
    {
        if (dataGridView1.Rows[row].Cells[0].Value != null &&
            dataGridView1.Rows[row].Cells[0].Value.Equals(textFromClient))
        {
            return;
        }
    }

    DataGridViewRow addRow = new DataGridViewRow();

    addRow.CreateCells(dataGridView1);
    addRow.Cells[0].Value = textFromClient;
    addRow.Cells[1].Value = txt[0];
    addRow.Cells[2].Value = txt[1];

    dataGridView1.Rows.Add(addRow);
}

如果textFromClient3是消息,则文本[0]为“acc123”,文本[1]应为“472348923748989234”。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。

if (txt.Length > 1 && txt[1] != null)
    {
        addRow.Cells[2].Value = txt[1];
    }

谢谢大家的帮助。