【问题标题】:Refresh dataGridView after update from client pc从客户端 PC 更新后刷新 dataGridView
【发布时间】:2016-05-22 02:11:34
【问题描述】:

所以我正在制作一个基于 LAN 的系统,其中一旦 PC2 在其 datagridview 中单击了服务按钮(只有具有PREPARING 值的状态将显示在 DGV 中),被单击的项目将从datagrid 并将其数据库状态从PREPARING 更新为SERVED

当从 PC2 对我的数据库进行更改时,我怎样才能让它自动将我的 datagridview 刷新到 PC1,反之亦然?

请注意,我没有使用绑定数据源或任何东西,因为我对此并不熟悉..

代码:

public void fillGrid()
    {

        cmd = new MySqlCommand("SELECT progressID, receiptNo, time, item, quantity, tableNo FROM tblprogress WHERE status = 'Preparing' ORDER BY time ASC");
        cmd.Connection = dbConn;
        dgvProgress.Rows.Clear();
        MySqlDataReader rdr = cmd.ExecuteReader();

        while (rdr.Read())
        {
            dgvProgress.Rows.Add(rdr[0], rdr[1], rdr[2], rdr[3], rdr[4], rdr[5]);
            dgvProgress.ClearSelection();

        }

        rdr.Close();
    }

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        if (dgvProgress.Columns[e.ColumnIndex].Name == "Status")
        {
            cmd = new MySqlCommand("UPDATE tblprogress SET status = 'Served' WHERE progressID = " + dgvProgress.CurrentRow.Cells["progressID"].Value.ToString() + "");
            cmd.Connection = dbConn;
            cmd.ExecuteNonQuery();
            dgvProgress.Rows.RemoveAt(e.RowIndex);
        }
    }

【问题讨论】:

    标签: c# datagridview


    【解决方案1】:

    您可以设置它,使更改具有时间戳。然后使用计时器并以指定的时间间隔检查您拥有的数据的时间戳是否与数据库中的相同。如果没有,则从数据库中提取数据并更新 datagridviewer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-25
      • 1970-01-01
      • 2012-04-25
      • 1970-01-01
      相关资源
      最近更新 更多