绑定两个网格,一个数据表,master:datagridview detail:ultragrid

时间:2014-01-03 16:41:44

标签: c# datagridview datatable

伙计们,这就是我所尝试的并没有取得太大的成功:

我有一个数据表,它将包含主网格和详细网格(dsLocal.Tables [0]全局变量)的数据。用户将从datagridview(主数据库)中选择最多一条记录。此时,一条记录应出现在" detail"的UltraGrid。将处理datagridview的_SelectionChanged事件以填充ultragrid。将运行以下代码:

private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
    DataRow theDataRow = dsLocal.Tables[0].Rows[dataGridView1.SelectedRows[0].Index];

    // Set the data source and data member to bind the grid.
    ultraGrid1.DataSource = theDataRow;
    ultraGrid1.DataMember = "";
    ...
}

正如您所看到的,上面的代码不仅不起作用,上述情况在任何情况下都不起作用,因为如果它们对主网格进行排序,则索引计数器将关闭。任何帮助将不胜感激。

先谢谢

1 个答案:

答案 0 :(得分:0)

我回答了我自己的问题(非常难看的解决方案,但它确实可以正常工作)如果你有更好的东西,请告诉我。

private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{

if (dataGridView1.SelectedRows.Count > 0)
{

DataRow selectedRow = ((DataRowView)this.dataGridView1.SelectedRows[0].DataBoundItem).Row;

DataTable dt = dsLocal.Tables[0].Clone();

dt.ImportRow(selectedRow);

ultraGrid1.DataSource = dt;
ultraGrid1.DataMember = "";

}
}
相关问题