我有一个父级和子级GridView。
Child网格视图由存储在父DataSet表中的值填充。
我需要我的行根据ReportCode来获取数据。
这是我的代码:-
protected void GridView1_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
try
{
DataSet dstReportsCodes = getReportCode();
dst = new DataSet();
if (e.Row.RowType == DataControlRowType.DataRow)
{
string pub_id = GridView1.DataKeys[e.Row.RowIndex].Value.ToString();
dm.Open();
//dst = dm.ApprovalExpense("SelectForReport", "Exp-4OWTR", "", "", "", "", "", ""); // which are the expenses
if (dstReportsCodes.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < dstReportsCodes.Tables[0].Rows.Count; i++)
{
dst = null;
dst = dm.ApprovalExpense("SelectForReport", Convert.ToString(dstReportsCodes.Tables[0].Rows[i]["ReportCode"]), "", "", "", "", "", "");
GridView pubTitle = (GridView)e.Row.FindControl("GridView2");
pubTitle.DataSource = dst.Tables[0];
pubTitle.DataBind();
}
}
dm.Close();
}
}
catch (Exception ex) { lblErrorText.Text = ex.ToString(); }
}
注意:getReportCode()是返回带有报告代码的数据集的函数,类似于 Report Code Image
现在这些报告代码用于获取Child Gridview的每一行的数据,详细信息确定,但是每次都绑定相同的数据。
我们将不胜感激,感谢您提前感谢。
编辑
现在我需要下载一个文件,该文件存在于子gridview中。
做到这一点的最佳方法是什么/
我应该通过什么论点? (例如其地址或什么?)
我需要在不折叠子gridview的情况下下载文件。
child grid image
答案 0 :(得分:0)
当您使用RowDataBound时,已经具有从getReportCode()方法获取的那些行项目。您要做的就是在使用RowDataBound进行迭代时阅读这些项目。在您的情况下,您可以使用以下代码读取ReportCode。
string reportCode = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "ReportCode"));
接下来,您要做的就是将reportCode作为参数传递给您的ApprovalExpense方法。
dst = dm.ApprovalExpense("SelectForReport", reportCode, "", "", "", "", "", "");
GridView pubTitle = (GridView)e.Row.FindControl("GridView2");