2012-02-02 60 views
1

我有select語句顯示數據網格中選定的項目。如何通過點擊wpf中的datagrid打開文檔?

cmdSel.CommandText = "select id,Name,TypeID,StatusID from document where Contains([Context],'FormsOf (INFLECTIONAL, \"" + TextBoxSearch.Text + "\")')"; 

<WpfToolkit:DataGrid IsTextSearchEnabled="True" IsReadOnly="True" CanUserSortColumns="True" AutoGenerateColumns="False" Name="DataGrid1" 
        ItemsSource="{Binding Path=MainSearchBinding}" SelectionChanged="DataGrid1_SelectionChanged">    
    <WpfToolkit:DataGrid.Columns> 
     <WpfToolkit:DataGridTextColumn Header="Номер" Width="63" Binding="{Binding id}" IsReadOnly="false" /> 
     <WpfToolkit:DataGridTextColumn Header="Название" Width="*" Binding="{Binding Name}" IsReadOnly="false" /> 
    </WpfToolkit:DataGrid.Columns> 

我有另一個用戶控件richtextbox。我想通過點擊datagrid中的數據來顯示richtextbox上的特定數據。

我嘗試了我在這裏找到的,它沒有幫助我。請給我指導。提前致謝。

+0

你在哪裏難住?你有'DataGrid1_SelectionChanged()'方法,試着在那裏更新你的'RichTextBox'。如果您在加載數據時遇到問題,請考慮閱讀http://vbcity.com/blogs/xtab/archive/2010/03/01/wpf-richtextbox-how-to-load-edit-and-save-rich-text- format.aspx – Joulukuusi 2012-02-02 12:23:12

+0

問題是如何將特定的數據加載到richtextbox中。我有richtextbox的用戶控件。還有我有用戶控件有datagrid。 Datagrid顯示按照某些標準選擇的數據。通過點擊以獲得eaxample ID = 15,它應該加載ID = 15的上下文。我做了你說的沒關係。但我現在有這個任務。如何從datagrid加載特定的數據? – 2012-02-03 05:42:53

+0

我發現決定如何做到這一點,有人可能需要它在這裏。 – 2012-02-03 10:29:30

回答

1

他是我的問題的答案,有人可能需要。首先在鼠標單擊上,我正在查找id,然後根據該ID選擇上下文,這裏是代碼

private void OnMouseClick(object sender, MouseButtonEventArgs e) 
     { 


      IList rows = DataGrid1.SelectedItems; 
      DataRowView row = (DataRowView)DataGrid1.SelectedItems[0]; 
      int a = (int)row["ID"];//It is returning the id of selected row 

      DocumentView docview = new DocumentView(); 

      commProc = new SqlCommand("SELECT Context from Document where ID='" + a + "'", MainWindow.conn);//Depending on ID I am selecting context. 
      SqlDataReader dr = commProc.ExecuteReader(); 
      string str; 
      FlowDocument document = new FlowDocument(); 
      Paragraph paragraph = new Paragraph(); 

      if (dr.Read()) 
      { 
       str = (string)dr["Context"]; 
       paragraph.Inlines.Add(new Bold(new Run(str))); 
       document.Blocks.Add(paragraph); 
       docview.RBox.Document = document; 

      } 

      dr.Close(); 



      var tabControl = (sender as DataGrid).FindParent<TabControl>(); 


      tabControl.Items.Add(new TabItem() { Header = "Документ", Content = docview, IsSelected = true }); 

     } 
相關問題