我有一个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[] { } }
});