私の最終的な目標は、代わりに人名を取得するには、プルテーブルの外部キーIDを置き換えることです。それを助けてくれれば嬉しいです。私はEF6コンテキストDbSetをDataGridViewのバインディングソースとして使用しています。DataGridView列には設定された値が表示されません。彼らはGUIの中に空白で表示されます
GUI全体が十分にクリーンではありませんが、テーブル全体がプルされます。だから、Id列と他のものを削除します。次に、Person Nameという名前の新しい列を追加します。
文字通り、すべてが完全に私がそれを必要とするように完全に働いています。 DGV細胞に人名の値を表示していないだけです。
using (var ctx = new myDbContext())
{
BindingSource bSrc = new BindingSource();
bSrc.DataSource = ctx.myDbSet.ToList();
myDataGridView.DataSource = bSrc;
myDataGridView.Refresh();
}
myDataGridView.Columns.Add("originalPerson", "Person Name");
myDataGridView.AutoGenerateColumns = false;
myDataGridView.Columns.Remove("Id");
myDataGridView.Columns.Remove("DateModified");
myDataGridView.Columns.Remove("DateCreated");
using (var ctx = new myDbContext())
{
foreach (DataGridViewRow r in myDataGridView.Rows)
{
int pId= (Int32)r.Cells[0].Value;
string name = ctx.personsTable.FirstOrDefault(p => p.Id == pId).name;
//Where I set the values.
r.Cells[myDataGridView.Columns.Count - 1].Value = name.ToUpper();
}
}
myDataGridView.Columns.Remove("personsTableId");
if (myDataGridView!= null)
{
myDataGridView.Columns[myDataGridView.ColumnCount - 1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
}
誰もが、私はそれを私は、これは厄介な速いを得たように私が感じるすべての耳をしています別の方法を行う必要があります考えている場合。前もって感謝します!私は先に進み、私が持っていたすべてを示しました。
コード設定ブレークポイントをステップ実行することで問題を突き止めることができますか? – MethodMan
私はプログラムを踏んだときに値を正しく設定し、名前を右のセルに入れます。 GUIは、そこに何もなかったように、私の最も遠い/新しい列にちょうど現れる。再描画やリフレッシュを行わずにDGVに値を追加することと何か関係があるように感じますが、更新/リフレッシュは機能しません。 – Byrd
あなたはあなたが投稿したすべてのコードをどんな出来事ですか? – MethodMan