拆分datagridview列中的文本消息
本文关键字:文本 消息 datagridview 拆分 | 更新日期: 2023-09-27 17:49:30
我设置了tcpserver侦听器与消息接收。消息格式为"acc123|472348923748989234"。
我想在datagridview的列中按"|"分割。第一条消息显示ok,但分割后的第二条消息返回以下错误: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"从我的例子
我找到解决办法了。
if (txt.Length > 1 && txt[1] != null)
{
addRow.Cells[2].Value = txt[1];
}
谢谢大家的帮助。
也许我和你有同样的问题。但不同的是如何使用多行消息格式
"acc123|472348923|XXXXX"
"acc123|472348923|gggggggg"
"acc123|472348923|kkkkkkkk"
也许要用这可乐
for (i=0; i <txt.Length; i++)
if (txt.Length > 1 && txt[i] != null)
{
addRow.Cells[i].Value = txt[i];
}