【发布时间】:2011-08-07 15:37:45
【问题描述】:
我是 C# 新手。我想在运行时在 GridView 中添加行。我从 2 或 3 个表中收集数据。但每当我要去 bind() 它与 GridView,最后插入的行被当前行覆盖。并且 GridView 仅显示当前行。 是否可以将两行都显示在另一行下面?或者是否有任何代码可以这样做。请建议我的代码,以便我可以在我的项目中使用它。谢谢。
Answer::首先,您必须声明一个静态数据表。以及一个初始值为“true”的布尔变量。 然后执行以下代码--->>> 这是我的代码::
protected void btnAdd_Click(object sender, EventArgs e)
{
int coursemasterid = Convert.ToInt32(dlAdmissionCourses.SelectedItem.Value);
int batchmasterid = Convert.ToInt32(dlAssignBatch.SelectedItem.Value);
string SQL1 = "SELECT coursename,coursefees,batchname FROM CourseMaster,BatchMaster WHERE CourseMaster.coursemasterid=BatchMaster.coursemasterid and CourseMaster.coursemasterid="+coursemasterid+" and BatchMaster.batchmasterid="+batchmasterid+"";
DataTable otable = new DataTable();
otable = DbHelper.ExecuteTable(DbHelper.CONSTRING, CommandType.Text, SQL1, null);
DataRow dr1 = otable.Rows[0];
string coursename = dr1["coursename"].ToString();
int coursefees = Convert.ToInt32(dr1["coursefees"]);
string batchname = dr1["batchname"].ToString();
if (chkadd == true)
{
dtglb = new DataTable(); //here dtglb is a global datatable
dtglb.Columns.Add("coursename", typeof(string));
dtglb.Columns.Add("coursefees", typeof(int));
dtglb.Columns.Add("batchname", typeof(string));
}
foreach (DataRow dr in otable.Rows)
{
dtglb.NewRow();
dtglb.Rows.Add(coursename,coursefees,batchname);
}
chkadd = false;
GridView1.DataSource = dtglb;
GridView1.DataBind();
}
【问题讨论】:
-
在 select 语句中从所需表中选择数据或从表中单独选择数据并将所有结果合并到一个列表中并将其绑定到网格
-
你现在怎么样..需要看代码
-
@V4Vendetta::感谢您的帮助。这里我提供我的代码。
-
@Mahesh::在我的代码中是否可以访问单个元素并将它们合并多行?如果是,那么如何?