伙计们,这就是我所尝试的并没有取得太大的成功:
我有一个数据表,它将包含主网格和详细网格(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 = "";
...
}
正如您所看到的,上面的代码不仅不起作用,上述情况在任何情况下都不起作用,因为如果它们对主网格进行排序,则索引计数器将关闭。任何帮助将不胜感激。
先谢谢
答案 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 = "";
}
}