2012-02-24 45 views
0

从Datagrid的 我已经实现了它使用的数据表如何使编辑/从Datagrid的

 DataTable _datatable = new DataTable(); 
     DataRow _datarow; 

我在这里发起的数据,我想问问添加/删除项目如何使编辑/添加/删除项目,如何修改此数据 如何从数据网格中获取数值并与数据网格进行交互 。 List list = _datatable.AsEnumerable()。ToList();

我已将其转换为List,并从那里获取数据?这是不是一个好主意 。

我希望能够更新,插入和删除。

回答

0

,如果你不这样做MVVM,你可以简单地设置的DataGrid的ItemsSource到您的数据表

this.dgMyDataGridControl.ItemsSource= this._mydatatable; 

不要忘记为你的数据网格的属性设置为你想要的东西(CanUserAddRows,...)

这当然只是更新,删除和修改您的数据表中的数据而不是数据库中的数据。

0

您可以使用简单的对象列表。然后创建一个DataGrid并将DataRecordList绑定到它。 前端应该是这样的:

<Window x:Class="TestDataGrid.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:Data="clr-namespace:TestDataGrid" 
    Title="MainWindow" Height="350" Width="525"> 
<Window.Resources> 
    <ResourceDictionary> 
     <Data:DataRecordList x:Key="DataSource"/> 
     <CollectionViewSource x:Key="DataCollection" Source="{StaticResource DataSource}"/> 
    </ResourceDictionary> 
</Window.Resources> 
<Grid> 
    <DataGrid Name="GridData" 
     ItemsSource="{Binding Source={StaticResource DataCollection}}" 
     AutoGenerateColumns="False" 
     CanUserDeleteRows="True" CanUserAddRows="True"> 
     <DataGrid.Columns> 
      <DataGridTextColumn Header="ID" Binding="{Binding Path=ID}"/> 
      <DataGridTextColumn Header="Name" Binding="{Binding Path=Name}"/> 
      <DataGridTextColumn Header="SomeValue" Binding="{Binding Path=SomeValue}"/> 
     </DataGrid.Columns> 
    </DataGrid> 
</Grid> 
</Window> 

和后面的代码是这样的:

namespace TestDataGrid 
{ 
    public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 
     } 
    } 

    public class DataRecord 
    { 
     public int ID { get; set; } 
     public string Name { get; set; } 
     public string SomeValue { get; set; } 
    } 

    public class DataRecordList : List<DataRecord> 
    { 
     public DataRecordList() 
     { 
      this.Add(new DataRecord() { ID = 1, Name = "Johnny", SomeValue = "Dummy" }); 
      this.Add(new DataRecord() { ID = 2, Name = "Grace", SomeValue = "Foo" }); 
      this.Add(new DataRecord() { ID = 3, Name = "Steve", SomeValue = "Bar" }); 
     } 
    } 
} 

您可以添加行,删除行,甚至编辑行以及排序和重新排序列。 享受。 JiKra