2014-12-05 69 views
0

我有两个DataGridViews,如何从DataGridView与DB选择排在C#中的新的DataGridView

  1. datagridviewDoses所有的菜肴从DB
  2. datagridviewDoseOrder是空

我会尽快想因为我按下了datagridviewDoses中的按钮行。 该行将移至datagridviewDoseOrder。 我添加的按钮,我不能将该行移动到-datagridviewDoseOrder。

private void AddColumn() 
{ 
    DataGridViewButtonColumn buttonColumn = new DataGridViewButtonColumn(); 
    buttonColumn.HeaderText = "בחר מנה"; 
    buttonColumn.Name = "בחר מנה"; 
    buttonColumn.Text = "בחר מנה"; 
    buttonColumn.UseColumnTextForButtonValue = true; 
    dataGridViewDoses.Columns.Add(buttonColumn); 
    dataGridViewDoses.CellClick += new DataGridViewCellEventHandler(dataGridViewDoses_CellClick); 
} 
void dataGridViewDoses_CellClick(object sender, DataGridViewCellEventArgs e) 
{ 

} 
+0

你处理按钮点击?你能分享一些代码吗? – Michael 2014-12-05 15:48:28

+0

是的,我有一个处理按钮点击,这是没有问题的 – 2014-12-05 17:29:56

回答

0

我能够重新您的问题,解决这个问题如下:

一个例子类为每个dgview的数据源。

public class Example 
{ 
    public string Foo { get; set; } 
    public string Bar { get; set; } 
} 

显示两个DataGridViews的窗体。

public Form1() 
{ 
    InitializeComponent(); 
    this.First = new BindingList<Example>() 
    { 
    new Example() { Foo = "foo1", Bar = "bar1" }, 
    new Example() { Foo = "foo2", Bar = "bar2" } 
    }; 
    this.Second = new BindingList<Example>(); 

    this.dataGridView1.DataSource = this.First; 
    this.dataGridView2.DataSource = this.Second; 

    DataGridViewButtonColumn btnCol = new DataGridViewButtonColumn(); 
    btnCol.HeaderText = "Transfer"; 
    btnCol.Name = "Transfer"; 
    btnCol.Text = "Transfer"; 
    btnCol.UseColumnTextForButtonValue = true; 
    this.dataGridView1.Columns.Add(btnCol); 
    this.dataGridView1.CellClick += new DataGridViewCellEventHandler(col_Click); 
} 

public BindingList<Example> First { get; set; } 
public BindingList<Example> Second { get; set; } 

public void col_Click(object sender, DataGridViewCellEventArgs e) 
{ 
    if (e.ColumnIndex == 0) // The button column somehow is column 0, Foo is 1, and Bar is 2. 
    { 
    this.Second.Clear(); 
    this.Second.Add(this.First[e.RowIndex]); 
    } 
} 

通过单击按钮,该行的数据将移动到第二个DataGridView。我希望这有帮助。