如何比较2 GridViews中的信息,当我点击按钮比较时,不同的信息会出现在另一个datagridview中?
例如信息。在第一个datagridview中是12345 第二个datagridview是1234567 然后,当我点击比较按钮时, 67将出现在另一个datagridview中。
提前致谢!
答案 0 :(得分:1)
你可以做这样的事情
在后面的代码中将数据源分配给gridviews
protected void Page_Load(object sender,EventArgs e) { if(!Page.IsPostBack) { 列表lists1 = new List();
lists1.Add(1);
lists1.Add(12345);
lists1.Add(234354);
lists1.Add(3421);
lists1.Add(2343);
g1.DataSource = lists1;
g1.DataBind();
List<int> lists2 = new List<int>();
lists2.Add(1);
lists2.Add(1234567);
lists2.Add(234354);
lists2.Add(334421);
lists2.Add(2343343);
g2.DataSource = lists2;
g2.DataBind();
}
}
在比较按钮上,单击进行比较。
protected void btn_Click(object sender,EventArgs e) { 列出newLists = new List();
//iterate first gridview
foreach (GridViewRow row1 in g1.Rows)
{
if (row1.RowType == DataControlRowType.DataRow)
{
string gv1Value = row1.Cells[0].Text;
//iterate second gridview
foreach (GridViewRow row2 in g2.Rows)
{
if (row2.RowType == DataControlRowType.DataRow)
{
string gv2Value = row2.Cells[0].Text;
//do comparison here
if (gv1Value.Contains(gv2Value))
{
//if your criteria are met, put the data in the new lists
newLists.Add(Convert.ToInt32(gv1Value));
}
}
}
}
}
if (newLists.Count > 0)
{
g3.DataSource = newLists;
g3.DataBind();
}
}
希望这有帮助