【发布时间】:2013-08-13 16:11:21
【问题描述】:
我正在尝试开发一个应用程序,该应用程序将从数据网格中获取数据并基于下拉菜单选项返回一个仅包含所选客户端的 csv 文件。我的代码如下所示,此链接指向我发布的上一个问题,但是我仍然没有得到任何值,我真的需要解决这个问题,所以我想知道是否有人可以看到我是否出错或提供替代方案
//Master inventory export
private void ExportClass_Click(object sender, EventArgs e)
{
StringBuilder str = new StringBuilder();
objSqlCommands2 = new SqlCommands("MasterInventory", "ClientName");
string strString = str.ToString();
string Filepath = txtSaveShareClass.Text.ToString();
str.Append("ISIN ,FundName,Status,Share CCY,Benchmark,NAV Freq,CLASSCODE,SIMULATION,HEDGED,FUNDCCY");
StringManipulation sm = new StringManipulation();
foreach (DataRow dr in this.CalcDataSet.MasterInventory)
{
foreach (object field in dr.ItemArray)
{
str.Append(field.ToString() + ",");
}
str.Replace(",", "\n", str.Length - 1, 1);
}
try
{
System.IO.File.WriteAllText(Filepath, str.ToString());
}
catch (Exception ex)
{
MessageBox.Show("Write Error :" + ex.Message);
}
List<string[]> lsClientList = objStringManipulation.parseCSV(Filepath,cmbClientList .Text.ToCharArray());
foreach (string[] laClient in lsClientList)
{
sm.parseCSV2(Filepath, cmbClientList.Text.ToCharArray());
List<string[]> newFoo = lsClientList.Where(x => x.Contains(cmbClientList.Text)).ToList();
List<string[]> Results = sm.parseCSV2(Filepath, cmbClientList.Text.ToCharArray()).Where(x => x.Contains(cmbClientList.Text)).ToList();
//Refreshs the Client table on display from the
System.IO.File.WriteAllText(Filepath, Results.ToString());
}
this.TableAdapter.Fill(this.CalcDataSet.MasterInventory);
dataGridView2.Update();
}
【问题讨论】:
-
那么问题出在哪里? CSV 文件是否正确写入?它读回正确吗?
newFoo是否得到您期望的结果?Results是否得到您期望的结果?在Results上调用ToString()不会给您任何有用的信息。您必须枚举它以获取字符串。您需要让我们知道您的问题出在哪里,否则我们无处可开始为您提供帮助。 -
我不知道问题出在哪里,我所看到的其他人我已经证明它应该可以工作,是的 csv 是正确的,不它得到 0 结果....好吧抱歉,我认为问题已经表明,问题是它说我需要得到正确的结果,正如问题所说的那样
-
您是否在调试器中运行此程序,单步执行并检查每个操作的结果?只有这样才能找出问题所在。
-
是的,同样的,我看不到问题,变量填充正确