2013-03-02 41 views
0

我正在使用Telerik Datagrid控件顯示100條記錄。在我的應用程序中,用戶選擇他們想要編輯的內容,並使用表單來允許用戶更新記錄。同樣,如果他們希望添加新記錄,他們點擊「添加」,並出現一個空白版本的表格。在Datagrid中搜索並滾動並選擇新添加的項目

我沒有直接綁定到數據源。通過將Itemsource設置爲我的記錄列表,將數據提供給網格。

當用戶編輯記錄我可以滾動,然後選擇編輯的記錄很容易:

  //find row index of selected item 
      var lastRowUpdated = RadGridAssetTable.Items.IndexOf(this.RadGridAssetTable.SelectedItem); 

      // move to index following edit 
      RadGridAssetTable.ScrollIndexIntoView(lastRowUpdated); 
      RadGridAssetTable.SelectedItem = lastRowUpdated; 

然而,當我添加新記錄我無法弄清楚如何以編程方式滾動和選擇新添加網格項目。

有效我想搜索的網格行的(隱藏)記錄ID,在控制選擇行索引和滾動到它

似乎沒有要在網格中搜索數據的方法以編程方式,有人可以指出如何做到這一點的正確方向?

問候

回答

0

好了,我解決了這個樣子。

var lastRowUpdated = 0; 
     var i = 0; 

     if (_assetsavedData.AssetId == -1) 
     { 
      foreach (var rowItem in from object row in RadGridAssetTable.Items select row as AssetLinked) 
      { 
       Debug.WriteLine(rowItem.AssetItems.AssetCommonName); 

       if (rowItem.AssetItems.AssetCommonName.Equals(_assetsavedData.AssetCommonName)) 
       { 
        lastRowUpdated = i; 
        Debug.WriteLine("found at " + i); 
        break; 
       } 

       i++; 
      } 
     } 
     else 
     { 
      lastRowUpdated = RadGridAssetTable.Items.IndexOf(this.RadGridAssetTable.SelectedItem); 
     } 
相關問題