【问题标题】:Binding Two Grids, one datatable, master: datagridview detail: ultragrid绑定两个Grid,一个datatable,master:datagridview detail:ultragrid
【发布时间】:2014-01-03 16:41:43
【问题描述】:

伙计们,这就是我正在尝试但尚未取得太大成功的方法:

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

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 = "";
    ...
}

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

提前致谢

【问题讨论】:

    标签: c# datagridview datatable


    【解决方案1】:

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

    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 = "";
    
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-14
      • 1970-01-01
      • 1970-01-01
      • 2021-07-15
      • 2012-10-13
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      相关资源
      最近更新 更多