C# 如何将值存储在列表或数组中,然后将所有值绑定到datatable和gridview private void ListViewAddMethod(字符串fItem、字符串sItem、字符串tItem、字符串foItem) { List alstNames=新列表(); 添加(新报告列表(fItem、sItem、tItem、foItem)); DataTable dt=新的DataTable(); 添加(“详情”,类型(字符串)); 添加(“金额”,类型(字符串)); 添加(“特殊1”,类型(字符串)); 添加(“数量1”,类型(字符串)); foreach(alstNames中的变量lstNames) { //在foreach循环内添加新行,以便为每个对象创建新行。 DataRow row=dt.NewRow(); 行[“金额”]=fItem; 行[“详情”]=现场; 行[“特殊1”]=滴度; 行[“数量1”]=foItem; dt.行。添加(行); dgvProfitAndLoss.DataSource=alstNames; dgvProfitAndLoss.DataBind(); } }
这只返回最近添加的行,而忽略其他行。如何从传递给方法的参数创建数组并将其绑定到gridviewC# 如何将值存储在列表或数组中,然后将所有值绑定到datatable和gridview private void ListViewAddMethod(字符串fItem、字符串sItem、字符串tItem、字符串foItem) { List alstNames=新列表(); 添加(新报告列表(fItem、sItem、tItem、foItem)); DataTable dt=新的DataTable(); 添加(“详情”,类型(字符串)); 添加(“金额”,类型(字符串)); 添加(“特殊1”,类型(字符串)); 添加(“数量1”,类型(字符串)); foreach(alstNames中的变量lstNames) { //在foreach循环内添加新行,以便为每个对象创建新行。 DataRow row=dt.NewRow(); 行[“金额”]=fItem; 行[“详情”]=现场; 行[“特殊1”]=滴度; 行[“数量1”]=foItem; dt.行。添加(行); dgvProfitAndLoss.DataSource=alstNames; dgvProfitAndLoss.DataBind(); } },c#,asp.net,arrays,.net,loops,C#,Asp.net,Arrays,.net,Loops,这只返回最近添加的行,而忽略其他行。如何从传递给方法的参数创建数组并将其绑定到gridview 你的代码看起来不好。首先,在alstNames上执行一个循环,并在该循环的每次迭代中将其绑定到gridview中。其次,您不需要使用数据表将其绑定到网格中,您的代码只是在堆上创建一个数据表,添加一些行并将其保存到垃圾收集器删除它,甚至不使用它。第三,考虑到您正在执行在GRidView上添加新项的方法,请将列表的初始化删除到类的作用域中,并将其保持为有效实例(如果是静态实例): //声明方法的列表输出
你的代码看起来不好。首先,在
alstNames
上执行一个循环,并在该循环的每次迭代中将其绑定到gridview中。其次,您不需要使用数据表
将其绑定到网格中,您的代码只是在堆
上创建一个数据表,添加一些行并将其保存到垃圾收集器
删除它,甚至不使用它。第三,考虑到您正在执行在GRidView上添加新项的方法,请将列表的初始化删除到类的作用域中,并将其保持为有效实例(如果是静态实例):
//声明方法的列表输出
private-private-List-alstNames=新列表();
私有void ListViewAddMethod(字符串fItem、字符串sItem、字符串tItem、字符串foItem)
{
//将ReportList添加到列表中
添加(新报告列表(fItem、sItem、tItem、foItem));
//在gridView上绑定它
dgvProfitAndLoss.DataSource=alstNames;
dgvProfitAndLoss.DataBind();
}
首先,您不需要数据表。可以将列表直接绑定到GridView。您需要将dgvProfitAndLoss.DataSource
置于循环之外!
private void ListViewAddMethod(string fItem, string sItem, string tItem, string foItem)
{
List<ReportList> alstNames = new List<ReportList>();
alstNames.Add(new ReportList(fItem, sItem, tItem, foItem));
DataTable dt = new DataTable();
dt.Columns.Add("Particulars", typeof(string));
dt.Columns.Add("Amount", typeof(string));
dt.Columns.Add("Particulars1", typeof(string));
dt.Columns.Add("Amount1", typeof(string));
foreach (var lstNames in alstNames)
{
// Add new Row - inside the foreach loop - to enable creating new row for each object.
DataRow row = dt.NewRow();
row["Amount"] = fItem;
row["Particulars"] = sItem;
row["Particulars1"] = tItem;
row["Amount1"] = foItem;
dt.Rows.Add(row);
dgvProfitAndLoss.DataSource = alstNames;
dgvProfitAndLoss.DataBind();
}
}
// declare the list output of the method
private private List<ReportList> alstNames = new List<ReportList>();
private void ListViewAddMethod(string fItem, string sItem, string tItem, string foItem)
{
// add the ReportList on the list
alstNames.Add(new ReportList(fItem, sItem, tItem, foItem));
// bind it on the gridView
dgvProfitAndLoss.DataSource = alstNames;
dgvProfitAndLoss.DataBind();
}