2012-02-28 130 views
0

我在父视图中有一个数据网格。将选定值传递给子窗口

当我选择在网格中的项目,

  1. 我想开一个子窗口

  2. 被选中的项值传递给子窗口

  3. 我需要根据所选值提交更改。

我正在修改以下代码,这是我需要转移到子窗口的点击事件。

我可以从父视图继承域数据源吗?

private void ApproveCmd_Click(object sender, RoutedEventArgs e) 
    { 
     PA_Request selReq =(PA_Request) this.onticPMA_RequestRadGridView.SelectedItem; 
     if (selReq != null) 
     { 
      ((PA_Request)this.PA_RequestRadGridView.SelectedItem).STATUS = "Approved"; 

      this.PA_RequestDomainDataSource.SubmitChanges(); 



     } 
    } 

    private void DissaproveCmd_Click(object sender, RoutedEventArgs e) 
    { 
     PA_Request selReq = (PA_Request)this.PA_RequestRadGridView.SelectedItem; 
     if (selReq != null) 
     { 
      ((PA_Request)this.PA_RequestRadGridView.SelectedItem).STATUS = "Disapproved"; 

      this.PA_RequestDomainDataSource.SubmitChanges(); 


     } 
    } 

    private void ApplyCmd_Click(object sender, RoutedEventArgs e) 
    { 
     PA_Request selReq = (PA_Request)this.PA_RequestRadGridView.SelectedItem; 
     if (selReq != null) 
     { 
      ((PA_Request)this.PA_RequestRadGridView.SelectedItem).STATUS = "Applied"; 

      this.PA_RequestDomainDataSource.SubmitChanges(); 

     } 

回答

0

好吧假设网格中有10个元素。当你点击任何项目时,打开一个事件说ApproveCmd_Click。您需要先像这样检索发件人。

private void ApproveCmd_Click(object sender, RoutedEventArgs e) 
{ 
    var senderListBox = sender as ListBox; (Or any type you want) 
    var senderListBoxItem = senderListBox as senderListBoxItem; 
    string data = senderListBoxItem.Content; 
    //Now you have sender. 
    // Pass sender through constructor of the window 
    //Say you need to pass a string Create 

    var chieldWindow = new ChieldWindow(data); 
} 
在chield窗口

class ChieldWindow :Window 
{ 
    ChieldWindow(string input) 
    { 
     \\You got the data 
    } 
} 

还是让我知道

相关问题