public Form1() { int k; InitializeComponent(); if (!MessageQueue.Exists(@".\private$\myMSMQ")) { MessageQueue.Create(@".\private$\myMSMQ"); } proxy = new TTProxy(); DataTable users = proxy.GetPeopleByRole("solver"); for (k = 0; k < users.Rows.Count; k++) { listBox1.Items.Add(users.Rows[k][1]); // Row 0 is empty; the author name is in column 1 } DataTable unassigned_tickets = proxy.GetUnassignedTickets(); dataGridView1.DataSource = unassigned_tickets; DateTime start = DateTime.Now; timer = new Timer(_ => UpdateTickets(start), null, 1000, 500); }
private void UpdateTickets(DateTime start) { Invoke((MethodInvoker) delegate { int index1 = 0; if (dataGridView1.SelectedRows.Count != 0) { index1 = dataGridView1.SelectedRows[0].Index; } DataTable unassigned_tickets = proxy.GetUnassignedTickets(); dataGridView1.DataSource = unassigned_tickets; if (index1 < unassigned_tickets.Rows.Count) { dataGridView1.Rows[index1].Selected = true; } if (listBox1.SelectedItems.Count != 0) { string solver = listBox1.SelectedItem.ToString(); int index2 = 0; if (dataGridView2.SelectedRows.Count != 0) { index2 = dataGridView2.SelectedRows[0].Index; } DataTable tickets = proxy.GetTicketsBySolver(solver); dataGridView2.DataSource = tickets; if (index2 < tickets.Rows.Count) { dataGridView2.Rows[index2].Selected = true; } } }); }