Hi I am working with a note sorter machine that is connected to a serial port. I am able to retrieve a data into text box like
JL206F ID:VDE40050
2015/05/29 11:02:19
JBatch_No.:067
JOperator ID:15
Mixed Counting
W
Deposit Amount: 0.00
denom count value
UVK(|????DW50D 1 50.00
JUVK(|????DW20D 1 20.00
JUVK(|????DW10ND 1 10.00
J
Total: 3 80.00
Coin: 0.00
Balance: 0.00
Now i want this information to come in datagrid Like Batch no, Balance , Operator id etc in columns. o far my code is as follows. I am able to retrieve the info but bit by bit and only in one column. Please help
UserInitialization(); private void UserInitialization() { _spManager = new SerialPortManager(); SerialSettings mySerialSettings = _spManager.CurrentSerialSettings; serialSettingsBindingSource.DataSource = mySerialSettings; portNameComboBox.DataSource = mySerialSettings.PortNameCollection; baudRateComboBox.DataSource = mySerialSettings.BaudRateCollection; dataBitsComboBox.DataSource = mySerialSettings.DataBitsCollection; parityComboBox.DataSource = Enum.GetValues(typeof(System.IO.Ports.Parity)); stopBitsComboBox.DataSource = Enum.GetValues(typeof(System.IO.Ports.StopBits)); _spManager.NewSerialDataRecieved += new EventHandler<SerialDataEventArgs>(_spManager_NewSerialDataRecieved); this.FormClosing += new FormClosingEventHandler(MainForm_FormClosing); } private void MainForm_FormClosing(object sender, FormClosingEventArgs e) { _spManager.Dispose(); } void _spManager_NewSerialDataRecieved(object sender, SerialDataEventArgs e) { if (this.InvokeRequired) { // Using this.Invoke causes deadlock when closing serial port, and BeginInvoke is good practice anyway. this.BeginInvoke(new EventHandler<SerialDataEventArgs>(_spManager_NewSerialDataRecieved), new object[] { sender, e }); return; } int maxTextLength = 100000; // maximum text length in text box if (tbData.TextLength > maxTextLength) tbData.Text = tbData.Text.Remove(0, tbData.TextLength - maxTextLength); string str = Encoding.ASCII.GetString(e.Data); tbData.AppendText(str); string[] myArray = {str}; int k=0; for (int i = 0; i < str.Length;i++ ) { k = str.IndexOf("10", i); if (k!=-1) { dataGridView1.Rows.Add(str.Substring(i,k-1)); i=k+2; } else { dataGridView1.Rows.Add(str.Substring(i, str.Length - i)); i = str.Length; } } tbData.ScrollToCaret(); } // Handles the "Start Listening"-button click event private void btnStart_Click(object sender, EventArgs e) { _spManager.StartListening(); } // Handles the "Stop Listening"-button click event private void btnStop_Click(object sender, EventArgs e) { _spManager.StopListening(); } private void serialSettingsBindingSource_CurrentChanged(object sender, EventArgs e) { } private void MainForm_Load(object sender, EventArgs e) { } private void tbData_TextChanged(object sender, EventArgs e) { } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { }