foreach grivdviewrows in cells [英] foreach grivdviewrows in cells
本文介绍了foreach grivdviewrows in cells的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
foreach (GridViewRow gvRowAssigment in GridViewAllAssigments.Rows)
{
var emp_assig_ref = new EMPLOYEES_ASSIGMENT_REFERENCE();
emp_assig_ref.reference_name = gvRowAssigment.Cells [ 8 ]。ToString();
emp_assig_ref.reference_id = new Random()。Next();
var emp_assig_teh = new EMPLOYEES_ASSIGMENT_TECHNOLOGY();
emp_assig_teh.technology_name = gvRowAssigment.Cells [ 7 ]。ToString();
emp_assig_teh.assigment_technology_id = new Random()。Next();
var emp_assig_tools = new EMPLOYEES_ASSIGMENT_TOOLS();
emp_assig_tools.tools_name = gvRowAssigment.Cells [ 6 ]。ToString();
emp_assig_tools.assigment_tools_id = new Random()。Next();
var emp_assigment = new EMPLOYEES_ASSIGNMENT
{
from_date = gvRowAssigment.Cells [ 0 ]。ToString(),
to_date = gvRowAssigment.Cells [ 1 ]。ToString(),
area = gvRowAssigment.Cells [ 2 ]。ToString(),
sector = gvRowAssigment.Cells [< span class =code-digit> 3 ]。ToString(),
company_name = gvRowAssigment.Cells [ 4 ]。ToString() ,
description = gvRowAssigment.Cells [ 5 ]。ToString(),
employee_id = emp.employee_id,
assigment_id = new Random()。Next(),
EMPLOYEES_ASSIGMENT_TOOLS = emp_assig_tools ,
assigment_tools_id = emp_assig_tools.assigment_tools_id,
EMPLOYEES_ASSIGMENT_TECHNOLOGY = emp_assig_teh,
assigment_technology_id = emp_assig_teh.assigment_technology_id,
EMPLOYEES_ASSIGMENT_REFERENCE = emp_assig_ref,
reference_id = emp_assig_ref.reference_id
};
emp.EMPLOYEES_ASSIGNMENT.Add(emp_assigment);
}
db.AddToEMPLOYEES(emp);
db.SaveChanges();
}
它不保存我在sql的文本框中写的值,我得到这个
System.Web.UI.WebControls.DataControlFieldCell
解决方案
尝试
gvRowAssigment。 Cells [n] .Value.ToString()没有.Value,您将整个DataControlFieldCell转换为字符串,该字符串为您提供类型的名称,而不是它包含的数字(或其他)。
foreach (GridViewRow gvRowAssigment in GridViewAllAssigments.Rows)
{
var emp_assig_ref = new EMPLOYEES_ASSIGMENT_REFERENCE();
emp_assig_ref.reference_name = gvRowAssigment.Cells[8].ToString();
emp_assig_ref.reference_id = new Random().Next();
var emp_assig_teh = new EMPLOYEES_ASSIGMENT_TECHNOLOGY();
emp_assig_teh.technology_name = gvRowAssigment.Cells[7].ToString();
emp_assig_teh.assigment_technology_id = new Random().Next();
var emp_assig_tools = new EMPLOYEES_ASSIGMENT_TOOLS();
emp_assig_tools.tools_name = gvRowAssigment.Cells[6].ToString();
emp_assig_tools.assigment_tools_id = new Random().Next();
var emp_assigment = new EMPLOYEES_ASSIGNMENT
{
from_date = gvRowAssigment.Cells[0].ToString(),
to_date = gvRowAssigment.Cells[1].ToString(),
area = gvRowAssigment.Cells[2].ToString(),
sector = gvRowAssigment.Cells[3].ToString(),
company_name = gvRowAssigment.Cells[4].ToString(),
description = gvRowAssigment.Cells[5].ToString(),
employee_id = emp.employee_id,
assigment_id = new Random().Next(),
EMPLOYEES_ASSIGMENT_TOOLS = emp_assig_tools,
assigment_tools_id = emp_assig_tools.assigment_tools_id,
EMPLOYEES_ASSIGMENT_TECHNOLOGY = emp_assig_teh,
assigment_technology_id = emp_assig_teh.assigment_technology_id,
EMPLOYEES_ASSIGMENT_REFERENCE = emp_assig_ref,
reference_id = emp_assig_ref.reference_id
};
emp.EMPLOYEES_ASSIGNMENT.Add(emp_assigment);
}
db.AddToEMPLOYEES(emp);
db.SaveChanges();
}
It dont saves the values that i have written in the textboxes in the sql , i get this
System.Web.UI.WebControls.DataControlFieldCell
解决方案
Try
gvRowAssigment.Cells[n].Value.ToString()Without the .Value you are converting the whole DataControlFieldCell to a string, which gives you the name of the type rather than the number (or whatever) it contains.
这篇关于foreach grivdviewrows in cells的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文