当前位置:编程学习 > C#/ASP.NET >>

datagridview数据复制 string插入datagridview


将datagridview1中选中行复制到datagridview2中,根据datagridview2中数据,从数据库S中选择S.Power>sum(datagridview2.Rows[k].Cells[power]) 数据插入到datagridview2最后一行,不知道这个想法可行吗? datagridview数据复制 string插入datagridview --------------------编程问答-------------------- 可以的。复制的时候可以获取选中项的DataRow,然后直接在datagridview2.Rows.Add(DataRow); --------------------编程问答-------------------- 如果我要使用Add来插入数据行,我得给DataRow元素赋值吧,可是如果datagridview 2中的数值变,我根据它获得的值也是变的。这样的话怎么做? --------------------编程问答-------------------- 把选中行存在 dt里 之后 循环dt 插入到另一个 dgv的dt里 --------------------编程问答--------------------

/// <summary>
        /// 点击同步数据时调用此方法
        /// </summary>
        /// <param name="dtTop"></param>
        /// <param name="dtBottom"></param>
        public static void ExcuteUpdate(InputCostAttribute inputCostAttribute,DataTable dtTop, DataTable dtBottom) 
        {
            DataTable dtClone = dtBottom.Clone();
            DataTable dt = Basis_CurrencyManager.Basis_CurrencyDataTable;
            foreach (DataRow item in dtTop.Rows)
            {
                DataRow[] drSelect = dtBottom.Select("CostName ='" + Convert.ToString(item["CostName"]) + "' and CostType ='" + Convert.ToString(item["CostType"]) + "'");
                if (drSelect.Length > 0)
                {
                    foreach (DataRow dr in drSelect)
                    {
                        foreach (string costId in inputCostAttribute.CostId)
                        {
                            if (dr["Id"].ToString() == costId) 
                            {
                                dr["ShouldMoney"] = item["Money"];
                                dr["CustomsRate"] = item["CustomsRate"];
                                dr["CustomsMoney"] = item["CustomsMoney"];
                                dr["RealMoney"] = item["Cost"];
                                dr["Code"] = Convert.ToString(item["CostType"]) == Convert.ToString(Convert.ToInt32(CostType.Pay)) ? item["Code"] : inputCostAttribute.RecCode;
                                dr["Payee"] = Convert.ToString(item["CostType"]) == Convert.ToString(Convert.ToInt32(CostType.Pay)) ? item["PayCompany"] : item["CompanyName"];
                                dr["CostName"] = item["CostName"];
                                dr["ChargeCode"] = item["ChargeCode"];
                                dr["LastUpdateMan"] = LoginInfo.UserName;
                                dr["LastUpdateDepartment"] = LoginInfo.Department;
                                dr["LastUpdateDate"] = DateTime.Now;
                                dr["LastUpdateCompany"] = LoginInfo.Company;
                                dtClone.Rows.Add(dr.ItemArray);
                                break;
                            }
                        }
                    }
                }
                else 
                {
                    DataRow dr = dtClone.NewRow();
                    dr["BusinessNum"] = inputCostAttribute.BusinessNum;
                    dr["SerialNum"] = Cost_FeeInfoManager.GetMaxSerialNum(new Cost_FeeInfo() { BusinessNum = inputCostAttribute.BusinessNum, CostType = item["CostType"].ToString() });
                    dr["CostName"] = item["CostName"];
                    dr["ChargeCode"] = item["ChargeCode"];
                    dr["ShouldMoney"] = item["Money"];
                    dr["CustomsRate"] = item["CustomsRate"];
                    dr["CustomsMoney"] = item["CustomsMoney"];
                    dr["RealMoney"] = item["Cost"];
                    dr["Code"] = Convert.ToString(item["CostType"]) == Convert.ToString(Convert.ToInt32(CostType.Pay)) ? item["Code"] : inputCostAttribute.RecCode;
                    dr["Payee"] = Convert.ToString(item["CostType"]) == Convert.ToString(Convert.ToInt32(CostType.Pay)) ? item["PayCompany"] : item["CompanyName"];

                    dr["IsOriginal"] = true;
                    if (dtBottom.Rows.Count > 0)
                    {
                        dr["Currency_Id"] = dtBottom.Rows[0]["Currency_Id"];
                        dr["Currency_Name"] = dtBottom.Rows[0]["Currency_Name"];
                        dr["Currency_Rate"] = dtBottom.Rows[0]["Currency_Rate"];
                    }
                    else if (dt.Rows.Count > 0)
                    {
                        dr["Currency_Id"] = Convert.ToString(dt.Rows[0]["Code"]);
                        dr["Currency_Name"] = Convert.ToString(dt.Rows[0]["Name"]);
                        dr["Currency_Rate"] = Convert.ToDecimal(dt.Rows[0]["Rate"]);
                    }
                    dr["IsExport"] = false;
                    dr["CostType"] = item["CostType"];
                    dr["Flag_CheckCost"] = Convert.ToInt32(CostCheck.Incomplete);
                    dr["Flag_ClosingCost"] = Convert.ToInt32(CostSettlement.Incomplete);
                    dr["Flag_ManagerCheckCost"] = Convert.ToInt32(ManagerCostCheck.Incomplete);

                    dr["InputDate"] = LoginInfo.DateTimeNow;
                    dr["InputMan"] = LoginInfo.UserName;
                    dr["InputDepartment"] = LoginInfo.Department;
                    dr["LastUpdateMan"] = LoginInfo.UserName;
                    dr["LastUpdateDepartment"] = LoginInfo.Department;
                    dr["LastUpdateDate"] = DateTime.Now;
                    dr["LastUpdateCompany"] = LoginInfo.Company;
                    dtClone.Rows.Add(dr);
                }
            }
            if (dtClone != null && dtClone.Rows.Count > 0) 
            {
                IList<Cost_FeeInfo> list = CommonMethodHelper.ToEntityAll<Cost_FeeInfo>(dtClone);
                string message = string.Empty;
                Cost_FeeInfoManager.SaveAllCost_FeeInfo(list, ref message);
                MessageBoxHepler.ShowInformationMsgBox(message);
            }
        }
--------------------编程问答-------------------- --------------------编程问答--------------------
引用 3 楼 l397870376 的回复:
把选中行存在 dt里 之后 循环dt 插入到另一个 dgv的dt里

你的程序有注释吗?那我还想在第二个datagridview2里插入根据这些值得到的结果呢。 --------------------编程问答-------------------- 没有人会吗?问题还是没有得到解决呢!
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,