修改包含对象的datagridview

时间:2014-11-13 07:36:19

标签: c# winforms datagridview cas

我有一个datagridview,它的数据源是一个对象列表。我需要修改一个datagridview单元格,但是当我这样做时,我收到了异常,因为它说我尝试将一个字符串转换为我的Object类型。 我可以修改单元格,修改数据网格视图以及我的列表

有任何帮助吗?

编辑:我添加了一些代码

This the class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Data;

namespace Postes.Model
{    
    public class FilasDeficiencia        
    {
        public FilasDeficiencia() {             
        }
        public CampoDeficiencias Contratista { get; set; }
        public CampoDeficiencias Responsable_grupo { get; set; }
        public CampoDeficiencias Fecha_insp { get; set; }
        public CampoDeficiencias SED { get; set; }
        public CampoDeficiencias Cod_deficiencia { get; set; }
        public CampoDeficiencias Cod_poste { get; set; }
        public CampoDeficiencias Tipo_poste { get; set; }
        public CampoDeficiencias Material { get; set; }
        public CampoDeficiencias Tamano_poste { get; set; }
        public CampoDeficiencias Criticidad { get; set; }
        public CampoDeficiencias Tipo_pastoral { get; set; }
        public CampoDeficiencias Material_pastoral { get; set; }
        public CampoDeficiencias Criticidad_pastoral { get; set; }
        public CampoDeficiencias Referencia_ubicacion { get; set; }
        public CampoDeficiencias Artefacto_AP { get; set; }
        public CampoDeficiencias Retenida { get; set; }
        public CampoDeficiencias Vereda { get; set; }
        public CampoDeficiencias Accesible { get; set; }
        public CampoDeficiencias Redes { get; set; }
        public CampoDeficiencias Equipo_telecomunicaciones { get; set; }
        public CampoDeficiencias Sumunistro_referencia { get; set; }
        public CampoDeficiencias Calle { get; set; }
        public CampoDeficiencias Lote { get; set; }
        public CampoDeficiencias Manzana { get; set; }
        public CampoDeficiencias URB { get; set; }
        public CampoDeficiencias Distrito { get; set; }
        public CampoDeficiencias Coordenadas_x { get; set; }
        public CampoDeficiencias Coordenadas_y { get; set; }
        public CampoDeficiencias Foto_1 { get; set; }
        public CampoDeficiencias Foto_2 { get; set; }
        public CampoDeficiencias Foto_3 { get; set; }
        public CampoDeficiencias Foto_4 { get; set; }
        public CampoDeficiencias Observaciones { get; set; }
        public CampoDeficiencias Superficie { get; set; }
        public CampoDeficiencias Errores { get; set; }
    }
}

列表中包含的其他类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Postes.Model
{
    public class CampoDeficiencias
    {
        private string mensaje = string.Empty;

        public NombreCampo NombreCampo { get; set; }
        public string ValorCampo { get; set; }
        public Type Tipo { get; set; }
        public Validaciones[] Validar { get; set; }
        public int Longitud { get; set; }
        public string[] ValoresPosibles { get; set; }
     }
}

以下是清单:

                    lista_deficiencias.Add(new FilasDeficiencia
                    {
                        Contratista = new CampoDeficiencias()
                         {
                             NombreCampo = NombreCampo.Contratista,
                             Tipo = typeof(string),
                             ValorCampo = Convert.ToString(grilla[i, 1]).Trim(),
                             Longitud = 20,
                             Validar = new Validaciones[] { Validaciones.Obligatorio, Validaciones.Longitud }
                         },
                        Responsable_grupo = new CampoDeficiencias() { NombreCampo = NombreCampo.Responsable_grupo, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 2]).Trim(), Longitud = 15, Validar = new Validaciones[] { } },
                        Fecha_insp = new CampoDeficiencias() { NombreCampo = NombreCampo.Fecha_insp, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 3]).Trim(), Longitud = 15, Validar = new Validaciones[] { Validaciones.Obligatorio } },
                        SED = new CampoDeficiencias() { NombreCampo = NombreCampo.SED, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 4]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Cod_deficiencia = new CampoDeficiencias() { NombreCampo = NombreCampo.Cod_deficiencia, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 5]).Trim(), Longitud = 0, Validar = new Validaciones[] { Validaciones.Obligatorio } },
                        Cod_poste = new CampoDeficiencias() { NombreCampo = NombreCampo.Cod_poste, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 6]).Trim(), Longitud = 0, Validar = new Validaciones[] { Validaciones.Obligatorio } },
                        Tipo_poste = new CampoDeficiencias() { NombreCampo = NombreCampo.Tipo_poste, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 7]).Trim(), Longitud = 0, Validar = new Validaciones[] { } },
                        Material = new CampoDeficiencias() { NombreCampo = NombreCampo.Material, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 8]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Tamano_poste = new CampoDeficiencias() { NombreCampo = NombreCampo.Tamano_poste, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 9]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Criticidad = new CampoDeficiencias() { NombreCampo = NombreCampo.Criticidad, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 10]).Trim(), Longitud = 9, Validar = new Validaciones[] { Validaciones.Obligatorio } },
                        Tipo_pastoral = new CampoDeficiencias() { NombreCampo = NombreCampo.Tipo_pastoral, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 11]).Trim(), Longitud = 9, Validar = new Validaciones[] { Validaciones.Obligatorio } },
                        Material_pastoral = new CampoDeficiencias() { NombreCampo = NombreCampo.Material_pastoral, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 12]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Criticidad_pastoral = new CampoDeficiencias() { NombreCampo = NombreCampo.Criticidad_pastoral, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 13]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Referencia_ubicacion = new CampoDeficiencias() { NombreCampo = NombreCampo.Referencia_ubicacion, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 14]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Artefacto_AP = new CampoDeficiencias() { NombreCampo = NombreCampo.Artefacto_AP, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 15]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Retenida = new CampoDeficiencias() { NombreCampo = NombreCampo.Retenida, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 16]).Trim(), Longitud = 9, ValoresPosibles = new string[] { "SI", "NO" }, Validar = new Validaciones[] { Validaciones.ValoresPosibles } },
                        Vereda = new CampoDeficiencias() { NombreCampo = NombreCampo.Vereda, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 17]).Trim(), Longitud = 9, ValoresPosibles = new string[] { "SI", "NO" }, Validar = new Validaciones[] { Validaciones.ValoresPosibles } },
                        Accesible = new CampoDeficiencias() { NombreCampo = NombreCampo.Accesible, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 18]).Trim(), Longitud = 9, ValoresPosibles = new string[] { "SI", "NO" }, Validar = new Validaciones[] { Validaciones.ValoresPosibles } },
                        Redes = new CampoDeficiencias() { NombreCampo = NombreCampo.Redes, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 19]).Trim(), Longitud = 9, ValoresPosibles = new string[] { "SI", "NO" }, Validar = new Validaciones[] { Validaciones.ValoresPosibles } },
                        Equipo_telecomunicaciones = new CampoDeficiencias() { NombreCampo = NombreCampo.Equipo_telecomunicaciones, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 20]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Sumunistro_referencia = new CampoDeficiencias() { NombreCampo = NombreCampo.Sumunistro_referencia, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 21]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Calle = new CampoDeficiencias() { NombreCampo = NombreCampo.Calle, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 22]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Lote = new CampoDeficiencias() { NombreCampo = NombreCampo.Lote, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 23]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Manzana = new CampoDeficiencias() { NombreCampo = NombreCampo.Manzana, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 24]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        URB = new CampoDeficiencias() { NombreCampo = NombreCampo.URB, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 25]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Distrito = new CampoDeficiencias() { NombreCampo = NombreCampo.Distrito, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 26]).Trim(), Longitud = 9, Validar = new Validaciones[] { Validaciones.Obligatorio } },
                        Coordenadas_x = new CampoDeficiencias() { NombreCampo = NombreCampo.Coordenadas_x, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 27]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Coordenadas_y = new CampoDeficiencias() { NombreCampo = NombreCampo.Coordenadas_y, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 28]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Foto_1 = new CampoDeficiencias() { NombreCampo = NombreCampo.Foto_1, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 29]).Trim(), Longitud = 9, Validar = new Validaciones[] { Validaciones.Obligatorio } },
                        Foto_2 = new CampoDeficiencias() { NombreCampo = NombreCampo.Foto_2, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 30]).Trim(), Longitud = 9, Validar = new Validaciones[] { Validaciones.Obligatorio } },
                        Foto_3 = new CampoDeficiencias() { NombreCampo = NombreCampo.Foto_3, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 31]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Foto_4 = new CampoDeficiencias() { NombreCampo = NombreCampo.Foto_4, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 32]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Observaciones = new CampoDeficiencias() { NombreCampo = NombreCampo.Observaciones, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 33]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Superficie = new CampoDeficiencias() { NombreCampo = NombreCampo.Superficie, Tipo = typeof(string), ValorCampo = Convert.ToString(grilla[i, 34]).Trim(), Longitud = 9, Validar = new Validaciones[] { } },
                        Errores = new CampoDeficiencias() { NombreCampo = NombreCampo.Errores, Tipo = typeof(string), ValorCampo = "", Longitud = 100, Validar = new Validaciones[] { } }
                    });

0 个答案:

没有答案