foreach grivdviewrows in cells [英] foreach grivdviewrows in cells

查看:72
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆