将一个dataGrid的已检查行保存到另一个dataGrid中

时间:2014-10-16 12:58:03

标签: c# asp.net datagrid

我有一个简单的数据网格,用于存储以json格式返回的数据。我已将未绑定的复选框列添加到其中。现在我想只将已检查的行存储在另一个数据网格中。我该怎么办呢。

我的代码

  protected void BtnSave_Click(object sender, EventArgs e)
    {

    foreach (DataGridItem item in this.gv1.Items)
    {
        CheckBox chkBox =
           (CheckBox)item.FindControl("ChkRows");

        //If it's selected then add it to our new Datagrid
        if (chkBox != null && chkBox.Checked)
        {
            //save
        }

}

}

第一个网格的数据源

SearchAPIRequest.defaultApiKey = "samplekey";
            SearchAPIRequest request = new SearchAPIRequest(rawName: txtUser.Text);

            try
            {
                SearchAPIResponse response = request.Send();
                DataTable dt = new DataTable();

                dt.Columns.Add("Website");
                dt.Columns.Add("first");
                dt.Columns.Add("last");
                dt.Columns.Add("jobs");
                dt.Columns.Add("dobs");
                dt.Columns.Add("educations");
                dt.Columns.Add("addresses");
                dt.Columns.Add("images");

                dt.Columns.Add("URL");

                for (int i = 0; i < response.Records.Count; i++)
                {
                    DataRow dr = dt.NewRow();

                    dr["Website"] = response.Records[i].Source.Domain;
                    dr["First"] = response.Records[i].Names[0].First;
                    dr["Last"] = response.Records[i].Names[0].Last;
                    dr["jobs"] = response.Records[i].Jobs.Count > 0 ? response.Records[i].Jobs[0].Display: "";
                    dr["dobs"] = response.Records[i].DOBs.Count > 0 ? response.Records[i].DOBs[0].DateRange.Start.ToString() : "";
                    dr["images"] = response.Records[i].Images.Count> 0 ? response.Records[i].Images[0].Url:"";
                    dr["educations"] = response.Records[i].Educations.Count > 0 ? response.Records[i].Educations[0].Display : "";
                    dr["addresses"] = response.Records[i].Addresses.Count > 0 ? response.Records[i].Addresses[0].Display: "";
                    dr["URL"] = response.Records[i].Source.Url;

                    dt.Rows.Add(dr);
                }

                gv1.DataSource = dt;// response.Records[0].AllFields.ToList();
                gv1.DataBind();

0 个答案:

没有答案