C# 如何将字符串绑定到网格?
我想根据从另一个网格视图中选择的复选框在网格视图中显示数据。下面给出的代码基于复选框选择从第一个gridview获取值。我想把这些值绑定到第二个网格中。帮我找到一个合适的解决办法。多谢各位 代码:C# 如何将字符串绑定到网格?,c#,asp.net,gridview,C#,Asp.net,Gridview,我想根据从另一个网格视图中选择的复选框在网格视图中显示数据。下面给出的代码基于复选框选择从第一个gridview获取值。我想把这些值绑定到第二个网格中。帮我找到一个合适的解决办法。多谢各位 代码: protected void btnAssign_Click(object sender, EventArgs e) { foreach (GridViewRow row in GridView1.Rows) { if (row.RowType == Dat
protected void btnAssign_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView1.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
CheckBox chkRow = (row.Cells[2].FindControl("CheckBox1") as CheckBox);
if (chkRow.Checked)
{
string[] EmpId = new string[] { row.Cells[0].Text };
string[] EmpName = new string[] { row.Cells[1].Text};
//我想根据复选框选择在gridview 2上显示emp id和emp名称。我该怎么办。帮我找到一个合适的解决方案
GridView2.DataSource = EmpId;
GridView2.DataBind();
}
}
}
}
ASPX:
下图显示了基于下拉选择的网格视图中的数据。之后,我想选择一些行并单击assign,然后我必须在new gridview中显示所选行。
图片:
如果尚未定义表示所选员工的强类型,则可以创建字典来存储所选员工。在完成对GridView1行的迭代以获取所选员工后,可以使用字典作为GridView2的数据源,并绑定到每个条目的键和值
protected void btnAssign_Click(object sender, EventArgs e)
{
Dictionary<int, string> selectedEmployees = new Dictionary<int, string>();
foreach (GridViewRow row in GridView1.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
CheckBox chkRow = (row.Cells[2].FindControl("CheckBox1") as CheckBox);
if (chkRow.Checked)
{
selectedEmployees.Add(int.Parse(row.Cells[0].Text), row.Cells[1].Text);
}
}
}
if (selectedEmployees.Any())
{
gridView2.DataSource = selectedEmployees;
gridView2.DataBind();
}
}
更新:更新代码,以说明您收到的异常情况以及提供的示例代码我已编辑了您的标题。请看,如果共识是否定的,他们就不应该这样做。当使用您的解决方案时,会出现一个错误。错误是输入字符串的格式不正确。
<asp:GridView ID="GridView2" runat="server"> </asp:GridView>
protected void btnAssign_Click(object sender, EventArgs e)
{
Dictionary<int, string> selectedEmployees = new Dictionary<int, string>();
foreach (GridViewRow row in GridView1.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
CheckBox chkRow = (row.Cells[2].FindControl("CheckBox1") as CheckBox);
if (chkRow.Checked)
{
selectedEmployees.Add(int.Parse(row.Cells[0].Text), row.Cells[1].Text);
}
}
}
if (selectedEmployees.Any())
{
gridView2.DataSource = selectedEmployees;
gridView2.DataBind();
}