2013-04-26 46 views
0

我有一個DataGrid,它只會有1行數據。它當前顯示數據的第一行,然後顯示4個空行。我沒有看到像最大行數。如何將DataGrid限制爲僅一行?只有1行的Datagrid

+1

你確定你的'datasource'只返回1行嗎? – 2013-04-26 15:30:08

+0

是的,它正確地返回1行。我認爲你的擔心是它返回1行數據和4行空數據,但事實並非如此。 List.Count是1. – 2013-04-26 15:35:25

回答

1

通過限制提供給數據網格的數據來約束數據網格。 DataGrid通過顯示通過DataSource屬性提供的任何數據來工作。

如果數據源是一個Data.DataTable,它有4個空行並且1個填充了一個,那麼它會顯示它。

如果DataSource是一個預定義可容納5個元素的對象數組,則即使只定義了1個元素,它也將顯示全部5行。

如果數據源是SqlDataReader,那麼您可以通過SQL語句中的TOP命令限制它。

I.e.如果你想只有一排,然後讓SQL是沿着這些路線的東西:

SELECT top 1 * FROM tableFoo WHERE SomeRowValue = SomeDataValue ORDER BY SomeRow 

基本上,這取決於數據源,你必須限制選擇不同的方式,但是這一切都歸結爲只給網格中你想看到的行。

所有這一切說,還有一個辦法做到這一點:

  1. DataGrid的maxpagesize可物業打開DataGrid的分頁上
  2. 設置爲1
  3. (可選)DataGrid的DisplayPagerRow屬性設置爲false

這將做什麼是使datagrid一次顯示1行。如果你將MaxPageSize設置爲2,你會得到兩行。關閉傳呼機行的可見性意味着您無法瀏覽網格的不同頁面。

+0

謝謝,非常好的信息。還發現我可以設置myList.Capacity = 1; – 2013-04-26 17:29:49