簡體   English   中英

Silverlight DataGrid中的層次結構數據

[英]Hierarchial data in silverlight datagrid

我正在嘗試創建一個Datagrid,其中第一列包含“ +”號,下一列包含數據。 當用戶單擊“ +”號時,數據取自當前行,並且來自不同表的相應層次結構數據顯示在當前行正下方的新網格中。 我嘗試在線搜索,但找不到任何示例。

請建議我如何檢查。

假設網格包含

  • col1 col2 .... col50
  • col1 col2 .... col50

當用戶單擊“ +”號時。

它應顯示為col1,Col2,Col3,Col4

然后進行數據庫調用,並根據上述值獲取數據。

結果網格應該是

  • col1 col2 .... Col50 NestedCol1 NestedCol2 ... NestedCol20 NestedCol1 NestedCol2 ... NestedCol20。
  • col1 col2 ... col50

謝謝,Naveen

看起來您必須在DataGrid中定義一個新的RowDetailsTemplate。 在參考資料中定義一個新的DataTemplate,該模板中有一個帶有兩行的網格:

  • 第一行是常規數據:col1,col2,...以及控制第二行的按鈕(“ +”按鈕)
  • 第二行中將有一個最適合您需要的新控件(ItemsControl,ListBox,DataGrid等)。

“ +”按鈕將控制第二行的可見性以及相應行的數據加載。

我希望這將使您朝正確的方向開始。

編輯:

通過放置到某種類型的集合中,層次結構數據將必須是第一行中數據的一部分。

public class Foo{
object Col1 {get;set;}
object Col2 {get;set;}

object Col50 {get;set;}
NestedFoo[] NestedData {get;set;}}

public class NestedFoo{
object NestedCol1 {get;set;}
object NestedCol2 {get;set;}

object NestedCol50 {get;set;}}

這樣,您可以將第二行中的控件的ItemsSource設置為集合。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM