Ich habe versucht, die ausgewählten Zeilen in Datagridview zu aktualisieren, aber das Ergebnis ist seltsam, es ist immer eine Zeile oder eine andere fehlt. Das Problem ist, wenn ich btnSettled Knopf, um das abgerechnete Datum zu setzen, klicken Sie dann auf btnUpdate, um die Datenbank zu aktualisieren, scheint das Ergebnis in Ordnung, aber nach dem Klicken auf btnRefresh, um den DGV zu aktualisieren, gibt es immer eine fehlende Zeile. Ist das das Problem bei UpdateCommand oder foreach loop? Bitte helfen Sie mir, dieses Problem zu lösen. Vielen Dank.Aktualisierung Datagridview Ausgewählte Zeilen
nach klicken btnSettled und btnUpdate
Mein Code wie folgt:
DataTable dtTrx = new DataTable();
SqlDataAdapter daTrx = new SqlDataAdapter();
DataSet dsTrx = new DataSet();
public Form1()
{
InitializeComponent();
getData();
}
private void getData()
{
string strConn = "Data Source=.\\xpw;Initial Catalog=MyStock;Integrated Security=True;";
SqlConnection conn = new SqlConnection(strConn);
conn.Open();
string sqlTrx = "SELECT TrxID, TrxDate,Ticker,Qty,Price,Type,AccID, SettledDate,BrokerUserID FROM Trx";
daTrx = new SqlDataAdapter(sqlTrx, conn);
SqlCommandBuilder cbTrx = new SqlCommandBuilder(daTrx);
daTrx.Fill(dsTrx, "trx");
conn.Close();
dtTrx = dsTrx.Tables["trx"];
dgvTrx.DataSource = dtTrx;
}
private void btnUpdate_Click(object sender, EventArgs e)
{
daTrx.Update(dsTrx, "trx");
}
private void btnRefresh_Click(object sender, EventArgs e)
{
dsTrx.Clear();
daTrx.Fill(dsTrx, "trx");
}
private void btnSettled_Click(object sender, EventArgs e)
{
foreach (DataGridViewCell c in dgvTrx.SelectedCells)
{
dgvTrx[7, c.RowIndex].Value = "2017/7/23";
}
}
Hinweis: Wenn ich SettledDate manuell auf DGV, dann klicken Sie auf Aktualisieren und Aktualisieren bearbeiten, ist das Ergebnis in Ordnung ist. – xpw
Es wäre wie 'foreach (DataGridViewRow r in dgvTrx.SelectedRows) zur Schleife besser' dann den Wert anwenden, indem 'r.Cells mit [ "SettledDate"] Value = "2017.07.23";.' –
Die getData () sollte nach der foreach-Schleife ausgelöst werden, um die Gridview so zu aktualisieren, um zu sprechen – Taco2