2011-11-23 70 views
0

我有一個Order屬性的對象,我想在我的數據網格中綁定它。可能嗎 ?我想改變一個數據網格中的順序,並在我的對象(使用訂單屬性)中使用它。我可以用綁定來做嗎?Binding Datagrid行號

[編輯]

public class MyObject 
{ 
... 
    public int Order {get; set;} 
... 
} 

而且我想這個屬性與我行的索引綁定。

+0

*是否有可能?*除非y你試試 – V4Vendetta

+0

對不起,沒有理解你的問題,你的意思是這個Order屬性是用於行排序嗎? –

+0

我想要的是,訂單更改將綁定到我的對象的Order屬性中,以保存到數據庫中 – rad

回答

0

OK,還沒有真正清楚,但我會盡力提供一些答案... 這就是我所理解的一個問題:你有Order類型的屬性」,命名爲‘訂單’,需要編輯這個在數據網格屬性,例如使用組合

假設你有一個這樣的實體類(所有的代碼 - 只是一個例子,因爲我不知道你有確切類):

class Something : EntityBase { 
    ................ 

    public int Order { get; set; } 

    ................ 

} 

而且它用如下數據模型包裝:

public SomethingModel : EntitydataModelBase<Something> { 

    ................ 

    public int Order { 
     get { 
      return this.Entity.Order; 
     } 
     set { 
      if (this.Entity.Order == value) return; 
      this.Entity.Order = value; 
      NotifyPropertyChanged("Order"); 
     } 
    } 

    ................ 

} 

此外,還有與您的數據網格的屏幕視圖模型,就像這樣:

public SomethingListViewModel : ViewModelBase { 


    ................ 


    public IList<SomethingModel> _Items; 

    public IList<SomethingModel> Items { 
     get { 
      return _Items; 
     } 
     private set { 
      if (_Items == value) return; 
      _Items = value; 
      NotifyPropertyChanged("Items"); 
     } 
    } 
    ................ 

} 

最後你的XAML:

................ 

<Grid x:Name="gridContainer"> <!-- We will use this name to make a reference in binding expression --!> 

    <DataGrid 
     ItemsSource="{Binding Items, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"> 
     <DataGrid.Columns> 
      <!-- "Actually, don't remember a name of class for tempolated column" --> 
      <DataGridTemplatedColumn 
       Header="Order"> 
       <DataGridTemplatedColumn.CellTemplate> 
        <DataTemplate> 
         <TextBox 
           Text="{Binding Order, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/> 
        </DataTemplate> 
       </DataGridTemplatedColumn.CellTemplate> 
      </DataGridTemplatedColumn> 
     </DataGrid.Columns> 
    </DataGrid> 

    ................ 

希望這會幫助,如果它不會,請提供您的示例代碼,我會嘗試添加一些基於它的示例

+0

我現在沒有VS,所以,如果在某處代碼有錯誤 –

+0

無訂單它只是一個整數屬性給出了排名。我用一些代碼編輯我的文章。 – rad

+0

我剛剛根據這個改變了我的答案。其實......只是讀「我的行索引」,嗯......如果是這樣,我的回答是錯誤的。讓我想想。 –