I have a note sorter machine that is connected to serial port. I am able to get the data from it in a textbox that is as folllows:
-----------------------------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 them to arrange in datagrid. How can I do that.
My code is as follows:
Expand|Select|Wrap|Line Numbers
- namespace SerialPortListener
- {
- public partial class MainForm : Form
- {
- SerialPortManager _spManager;
- public MainForm()
- {
- InitializeComponent();
- 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 = 1000; // 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);
- tbData.ScrollToCaret();
- }
- // Handles the "Start Listening"-buttom click event
- private void btnStart_Click(object sender, EventArgs e)
- {
- _spManager.StartListening();
- }
- // Handles the "Stop Listening"-buttom click event
- private void btnStop_Click(object sender, EventArgs e)
- {
- _spManager.StopListening();
- }