【发布时间】:2012-06-16 13:28:47
【问题描述】:
这是课程:
public class TrainingData
{
public string Training { get; set; }
}
这是 MainWindow 中的其余代码:
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open("D:/excel.xlsx");
Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
Excel.Range xlRange = xlWorksheet.UsedRange;
List <TrainingData> tData= new List <TrainingData>();
int rowCount = xlRange.Rows.Count;
int colCount = xlRange.Columns.Count;
//int k = 0;
for (int i = 1; i <= rowCount; i++)
{
tData.Add(new TrainingData() { Training = xlRange.Cells[i, 1].Value2.ToString() });
//MessageBox.Show(tData[k].Training);
//k++;
}
Prikaz.ItemsSource = tData;
数据网格:
<DataGrid AutoGenerateColumns="False" Height="120" HorizontalAlignment="Left" Margin="12,12,0,0" Name="Prikaz" VerticalAlignment="Top" Width="105" ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Header="Header" />
</DataGrid.Columns>
</DataGrid>`
所以,Prikaz 是我的 DataGrid。 tData 是 TrainingData 对象的列表。如果我取消注释这三行,我可以测试我是否从 excel 文件中正确导入了信息,是的,它工作得很好。
那么为什么我的 DataGrid 是空的?它有正确的行数,只有一列,没关系,但里面没有数据。我使用这一行:Prikaz.ItemsSource = tData; 绑定我的对象列表和 DataGrid。训练被宣布为公开的,因此它应该出现在 DataGrid 中。什么可能导致问题?
【问题讨论】:
-
能否提供网格的Xaml
-
设置 AutoGeneratedColumns="True" 是否获取数据?
标签: wpf data-binding datagrid