Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将字符串绑定到网格?_C#_Asp.net_Gridview - Fatal编程技术网

C# 如何将字符串绑定到网格?

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

我想根据从另一个网格视图中选择的复选框在网格视图中显示数据。下面给出的代码基于复选框选择从第一个gridview获取值。我想把这些值绑定到第二个网格中。帮我找到一个合适的解决办法。多谢各位

代码:

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();
    }