public void LoadData()
{
sy.OpenFileDialog op = new sy.OpenFileDialog();
op.Multiselect = true;
if (op.ShowDialog() == sy.DialogResult.OK)
{
for each (string s in op.FileNames)
{
val = s;
values = s.Split('\\');
lastItem = values[values.Length - 1];
newTabItem = new TabItem
{
Header = lastItem,
};
tabControl1.Items.Add(newTabItem);
ReadJsonFile();
DataTable dt = new DataTable();
dt.Columns.Add("Day", typeof(string));
dt.Columns.Add("Date", typeof(string));
dt.Columns.Add("Time", typeof(string));
dt.Columns.Add("Lat", typeof(string));
dt.Columns.Add("Long", typeof(string));
dt.Columns.Add("Address", typeof(string));
dt.Columns.Add("Type", typeof(string));
foreach (var item in data)
{
dt.Rows.Add(item.getDay(), item.getDate(), item.getTime(), item.getLat(), item.getLongi(), item.getAddresst(), item.getTYpe());
}
newTabItem.Content = dt;
}
}
}
public void ReadJsonFile()
{
string json = string.Empty;
using (StreamReader r = new StreamReader(val))
{
json = r.ReadToEnd();
var test = JObject.Parse(json);
JArray items = (JArray)test["locations"];
int length = items.Count;
data = new List<Info>();
for (int i = 0; i < items.Count; i++)
{
var d = test["locations"][i]["timestampMs"];
double dTimeSpan = Convert.ToDouble(d);
DateTime dtReturn = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds(Math.Round(dTimeSpan / 1000d)).ToLocalTime();
string printDate = dtReturn.DayOfWeek.ToString() + "," + " " + dtReturn.ToShortDateString() + " " + dtReturn.ToShortTimeString();
day = dtReturn.DayOfWeek.ToString();
date = dtReturn.ToShortDateString();
time = dtReturn.ToShortTimeString();
var e = test["locations"][i]["latitudeE7"];
var f = test["locations"][i]["longitudeE7"];
//getLocationByGeoLocation(e.ToString(), f.ToString());
var g = test["locations"][i]["activity"] != null;
if (g == true)
{
JArray items1 = (JArray)test["locations"][i]["activity"];
int length1 = items1.Count;
while (j < items1.Count )
{
if(j == 0)
{
var h = test["locations"][i]["activity"][j]["activity"][j]["type"];
type = h.ToString();
j = 1;
}
else { }
j++;
}
j = 0;
}
else { }
Info ddm = new Info(day, date, time, lat, longi, address, type);
data.Add(ddm);
}
}
return;
}
Мне нужно такое значение на табите, в котором привязана сетка данных, но я получаю вот так
Иэто код моего файла xaml
<DockPanel Height="auto" Width="auto">
<DockPanel Height="auto" Width="auto" DockPanel.Dock="Top" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" LastChildFill="True" >
<TabControl x:Name="tabControl1" Height="auto" Width="auto" ItemsSource="{Binding}" TabStripPlacement="Top" SelectionChanged="tabControl1_SelectionChanged" >
<TabControl.ContentTemplate >
<DataTemplate>
<DataGrid x:Name="dataGrid1" Height="auto" Width="auto" ItemsSource="{Binding}" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridTextColumn Width="*" Header="Day" Binding="{Binding}"/>
<DataGridTextColumn Width="*" Header="Date" Binding="{Binding}"/>
<DataGridTextColumn Width="*" Header="Time" Binding="{Binding}"/>
<DataGridTextColumn Width="*" Header="Lat" Binding="{Binding}"/>
<DataGridTextColumn Width="*" Header="Long" Binding="{Binding}"/>
<DataGridTextColumn Width="*" Header="Address" Binding="{Binding}"/>
<DataGridTextColumn Width="*" Header="Type" Binding="{Binding}"/>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
</DockPanel>
</DockPanel>
Как отобразить таблицу данных в качестве содержимого элемента вкладки для отображения фактического значения Первое изображение показывает значение таблицы данных, которое я хочу отобразить в сетке, которая связана сtab.
И второе изображение - это значение, которое я получаю вместо фактического значения.