至少针对特定单元格的解决方案:GridView1.Rows [i] .Cells [j] .Text;
我构建了一个简单的CSV-Fileupload。用户上传文件后,他应该能够评估数据。当fileupload成功时,数据被加载到GridView1中,使用以下代码:(代码下面的问题)
string[] readCSV = File.ReadAllLines(lblFilePath.Text);
DataTable dt = new DataTable();
bool bSplitMe = false;
foreach (var rLine in readCSV)
{
if (bSplitMe)
{
string[] aSplittedLine = rLine.Split(";".ToCharArray());
try
{
dt.Rows.Add(aSplittedLine);
}
catch(System.Exception)
{
txtBoxFileOut.Text = rLine;
break;
}
}
else
{
if (rLine.ToLower().StartsWith("definedtestid;"))
{
bSplitMe = true;
string[] aSplittedLine = rLine.Split(";".ToCharArray());
foreach (var rCol in aSplittedLine)
{
dt.Columns.Add(rCol);
}
}
else
{
txtBoxFileOut.Text += rLine.ToString() + "\n";
}
}
}
dt.Columns.Remove("Column1");
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
if (string.IsNullOrEmpty(dt.Rows[i][j].ToString()))
{
dt.Rows[i][j] = "0";
}
}
}
GridView1.DataSource = dt;
GridView1.DataBind();
在此之后,用户应该能够选择一行并显示图表中该行的数据。 问题:我无法从我想要的单元格中读取数据,也无法从“硬编码”单元格中读取数据。
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) {
GridViewRow row = GridView1.SelectedRow;
txtOutputfield.Text = row.Cells[2].Text;
}
答案 0 :(得分:0)
请检查您的手机索引。这是对的吗?例如:第三列将具有索引&#34; 2&#34;不是&#34; 3&#34;
而且,如果您使用控件存储数据,则需要找到该控件:
txtOutputfield.Text = row.Cells [2] .FindControl(&#39; placeyourcontrolnamehere&#39;)文本;
答案 1 :(得分:0)
对于特定的Cell,这很好用
txtOutputfield.Text = GridView1.Rows[i].Cells[j].Text;