2列目にコンボボックスを持つデータグリッドビューを作成しようとしています。
現在、私のデータグリッドはデータテーブルにバインドされています。フィールド患者は、コンボボックスに必要なものです。
以下のコードはフィールドを追加しますが、それはグリッドの最後にあり、複製されています...つまり、2 つの患者フィールドがあります。
DataTable dt = new DataTable();
DataColumn dtColumn;
dtColumn = new DataColumn("ClmDate", typeof(String));
dt.Columns.Add(dtColumn);
dtColumn = new DataColumn("Patient", typeof(Decimal));
dt.Columns.Add(dtColumn);
dtColumn = new DataColumn("ClmAmt", typeof(Decimal));
dt.Columns.Add(dtColumn);
cService cservice = new cService();
var trans = cservice.ClmView(txtNo.Text.Trim());
if (trans != null)
{
// Add items to datatable
foreach (var t in trans)
{
//save to datatable
DataRow row = dt.NewRow();
row["clmdate"] = t.clmdate.ToShortDateString();
row["patient"] = t.patient;
row["clmAmt"] = t.clmamt;
dt.Rows.Add(row);
}
}
Grid_Refresh();
private void Grid_Refresh()
{
grdTrans.DataSource = dt;
DataGridViewComboBoxColumn cb = new DataGridViewComboBoxColumn();
cb.HeaderText = "Patient";
cb.Name = "Patient";
cb.Items.Add("Foo");
cb.Items.Add("Bar");
grdTrans.Columns.Add(cb);
}
以下は、私が再現しようとしているグリッドの画像です...
http://s13.postimage.org/aale668uf/grd.png
どんな助けでも大歓迎です。