在Silverlight 4应用程序中将CSV文件加载到DataGrid中 [英] Loadin a CSV file into a DataGrid in Silverlight 4 Application
本文介绍了在Silverlight 4应用程序中将CSV文件加载到DataGrid中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经尝试过了,我可以将所有列加载到datagrid中,但是看不到行中的数据.所有行均显示为空.我在这里做错什么了吗.请退房并提供帮助.
I have tried this and I can get all the columns get loaded in datagrid but I cant see the data in rows. All the rows are shown empty. Am I doing anything wrong here..Please check out and help..
private void Button_Click(object sender, RoutedEventArgs e)
{
try
{
lFnLoadFileData();
}
catch (Exception)
{
throw;
}
}
void lFnLoadFileData()
{
try
{
OpenFileDialog lObjFileDlge = new OpenFileDialog();
lObjFileDlge.Filter = "CSV Files|*.csv";
lObjFileDlge.FilterIndex = 1;
lObjFileDlge.Multiselect = false;
bool? lBlnUserclicked = lObjFileDlge.ShowDialog();
if (lBlnUserclicked != null || lBlnUserclicked == true)
{
FileStream lObjFileStream = lObjFileDlge.File.OpenRead();
StreamReader lObjStreamReader = new StreamReader(lObjFileStream);
lFnGenerateData(lObjStreamReader);
lObjFileStream.Close();
}
}
catch (Exception)
{
throw;
}
}
void lFnGenerateData(StreamReader aReader)
{
try
{
bool lBlnIsColumns = true;
string[] lArrCols = null;
Dictionary<string, object> lObjDicData = null;
ObservableCollection<Dictionary<string, object>> lArrDGRows = new ObservableCollection<Dictionary<string, object>>();
dgrex.Columns.Clear();
while (aReader.Read() != null)
{
string lStrLine = aReader.ReadLine();
if (lStrLine == null)
break;
if (lStrLine.Trim() == "")
continue;
string[] lArrStrCells = null;
lArrStrCells = lStrLine.Split(",".ToCharArray());
if (lArrStrCells == null)
continue;
if (lBlnIsColumns)
{
lArrCols = lArrStrCells;
foreach (string lStrCell in lArrStrCells)
{
DataGridTextColumn lDGCol = new DataGridTextColumn();
lDGCol.Header = lStrCell;
lDGCol.Binding = new Binding(lStrCell);
dgrex.Columns.Add(lDGCol);
}
lBlnIsColumns = false;
continue;
}
if (lArrCols == null)
continue;
int lIntColID = 0;
lObjDicData = new Dictionary<string, object>();
foreach (string lStrCell in lArrStrCells)
{
lObjDicData[lArrCols[lIntColID]] = lStrCell.Trim();
lIntColID++;
}
lArrDGRows.Add(lObjDicData);
}
aReader.Close();
dgrex.ItemsSource = lArrDGRows;
}
catch (Exception)
{
throw;
}
}
谢谢
Sreenath
Thanks
Sreenath
推荐答案
嗨
有人可以建议我在Silver Light上为初学者设计和编码的互联网上的书籍或电子书吗?
工资软件
Hi
Can someone please suggest me books or eBooks on internet on Silver Light designing and coding for a beginner.
Payroll Software
这篇关于在Silverlight 4应用程序中将CSV文件加载到DataGrid中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文