私の最後の質問は閉鎖されたので、私は本当にこのために助けが必要なので、私はOLEDB接続でのVisual Studio 2010を使用していのDataGridViewエディット・セルは
私は...もう一度試してみます。今私は窓のフォームを開発しています。私はdatagridviewは編集/追加/削除モードを持つことができるので、使用したいと思っています。
私がしたいことは、自分のデータベースを編集するためにcellcontentchangedイベントを使用することです。内容を変更して離れると、このセルを編集するかどうか尋ねられます。私が「はい」と答えた場合、そのセルは変更されます。
ReadOnly = false
とenabled = true
としました。このような
adapter.Update(dataset);
か何か:前に、私が読んだものから、私はちょうどこのような何かをするだろう。しかし、これは私のdatabseの変更を保存しません。プログラム的に編集する方法もわかりません。私はまた、私はOLEDBの更新コマンドを持っているかどうかわからない。何かが明確でない場合は、返信してください。私は明確にすることがうれしいです。ありがとうございました!
編集:ごめんなさい、まだ分かりません!これは、すべての関連するコードです:ここ
が、これはまだ多くありませんが、うまくいけば、あなたは私が再び
編集をやろうとしているかを確認しようとすることができます
private void dgv_DataLookup_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
DialogResult dr;
dr = MessageBox.Show("Are you sure you want to edit this field?", "Edit Cell", MessageBoxButtons.YesNo);
if (dr == DialogResult.Yes)
{
//update the table in my database
}
}
...いくつかのコードですこの部分(これは編集したいDataGridviewを表示するコードです)
OleDbConnection cs;
OleDbDataAdapter da = new OleDbDataAdapter();
DataSet dsB = new DataSet();
//If clicked search button
else if (combo_View.Text == "Orders")
{
da.SelectCommand = new OleDbCommand("SELECT * FROM TestQuery WHERE (VendorName = @VendorName OR @VendorName = '') AND (CustomerName = @CustomerName OR @CustomerName = '') AND ((@From IS NULL AND @To IS NULL) OR orderDate BETWEEN @From AND @To) AND (ItemNum = @ItemNum OR @ItemNum = '') AND (PO = @PO OR @PO = '') ORDER BY CustomerName", cs);
da.SelectCommand.Parameters.Add("@VendorName", OleDbType.VarChar).Value = combo_VendorView.Text.ToString();
da.SelectCommand.Parameters.Add("@CustomerName", OleDbType.VarChar).Value = combo_CustomerView.Text.ToString();
if (!chk_viewAllDates.Checked)
{
da.SelectCommand.Parameters.Add("@From", OleDbType.Date).Value = "#" + tp_viewFrom.Value.Date.ToString("M/d/yyyy") + "#";
da.SelectCommand.Parameters.Add("@To", OleDbType.Date).Value = "#" + tp_viewTo.Value.Date.ToString("M/d/yyyy") + "#";
}
else
{
da.SelectCommand.Parameters.Add("@From", OleDbType.Date).Value = DBNull.Value;
da.SelectCommand.Parameters.Add("@To", OleDbType.Date).Value = DBNull.Value;
}
da.SelectCommand.Parameters.Add("@PO", OleDbType.VarChar).Value = txt_POLookup.Text.ToString();
da.SelectCommand.Parameters.Add("@ItemNum", OleDbType.VarChar).Value = combo_ItemNumLookup.Text.ToString();
dsB.Clear();
da.Fill(dsB);
dgv_DataLookup.DataSource = dsB.Tables[0];
}
もっとコードが必要な場合は教えてください。任意のヘルプは高く評価されています:)
ここにいくつかのコードを追加 –
@wilson - この質問はまだ理解しにくいです。 1)どのような環境で作業していますか?あなたはdatagridviewについて言及していますが、これはwinformsコントロールであり、asp.netについても言及しています。 2)あなたは何を達成する必要がありますか?あなたは、セルが変わるたびにデータを保存するように求めているようです。 3)あなたが必要とするものをより多くのアイデアを提供しようとしたコードを提供します。 –
そして、あなたはコードが何を段階的に行っているのか見てきましたか? adapter.Update(dataset)を呼び出すと、実際にデータセットに変更がありますか? datagridviewを切り取り、データセットを直接更新するとどうなりますか? –