using System.Collections.Generic;
using System.Windows;
using System.ComponentModel;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.IO;
namespace Table
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
userlist = new BindingList<User>();
string configJsonfilename = "C:\\Users\\29717\\Desktop\\person\\cs\\test.json"; //路径
StreamReader jsonRead = File.OpenText(configJsonfilename);
JsonTextReader jsonText = new JsonTextReader(jsonRead);
JObject keyValues = (JObject)JToken.ReadFrom(jsonText);
JArray array = (JArray)keyValues["error"];
for (int i = 0; i < array.Count; i++)
{
userlist.Add(new User { Name = array[i]["operatorr"].ToString(), Age = array[i]["pieceId"].ToString(), Salaary = (int)array[i]["location"] });
}
List<Dept> deptlist = new List<Dept>();
deptlist.Add(new Dept { ld = "1344", Dname = "广告部" });
deptlist.Add(new Dept { ld = "3333", Dname = "市场部" });
depts.ItemsSource = deptlist;
mydatagda.ItemsSource = userlist;
}
public void Button_Click(object sender, RoutedEventArgs e)
{
userlist.Add(new User { Name = "李静", Age = "123", Salaary = 666 });
}
private BindingList<User> userlist;
//public List<User> userlist;
public class User
{
public string Name { get; set; }
public string Age { get; set; }
public string Deptld { get; set; }
public int Salaary { get; set; }
}
public class Dept
{
public string ld { get; set; }
public string Dname { get; set; }
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
userlist.RemoveAt(2);
}
}
}
xaml
<Window x:Class="Table.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Table"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800" >
<Grid>
<StackPanel>
<Button Click="Button_Click">123</Button>
<Button Click="Button_Click_1">222</Button>
<Grid x:Name="gird1">
<DataGrid Grid.Row="0" FontSize="15" ColumnHeaderHeight="30" ItemsSource="{Binding }" CanUserSortColumns="True" AutoGenerateColumns="False" CanUserAddRows="False" CanUserReorderColumns="True" GridLinesVisibility="Horizontal" Name="mydatagda" HorizontalAlignment="Left" Height="409" Margin="0,0,0,0" VerticalAlignment="Top" Width="782">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}" ClipboardContentBinding="{x:Null}" Header="姓名"/>
<DataGridTextColumn Binding="{Binding Age}" ClipboardContentBinding="{x:Null}" Header="年龄"/>
<DataGridComboBoxColumn x:Name="depts" ClipboardContentBinding="{x:Null}" Header="部门" SelectedValuePath = "Id" DisplayMemberPath = "Dname" SelectedValueBinding="{Binding deptId}" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</StackPanel>
</Grid>
</Window>