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);
}
}
你的程序有注释吗?那我还想在第二个datagridview2里插入根据这些值得到的结果呢。 --------------------编程问答-------------------- 没有人会吗?问题还是没有得到解决呢!
补充:.NET技术 , C#