0

我会尽量做到直截了当。我在 datagridview 上有一个客户列表,而且我有一个表单,允许我添加新客户端或修改它。添加新客户端时我没有问题,但是在修改时我找不到填充某些文本框和组合框的方法。组合框应该显示城市,文本框应该显示地址。代码如下

 private void Modificar()
    {
        if (dgCliente.Rows.Count == 0)
        {
            return;
        }
        DataGridViewRow row = dgCliente.SelectedRows[0];
        Cliente cliente = (Cliente)row.Tag;


        tcClientes.SelectedTab = tpGeneral;
        //txtActividad.Text = cliente.Actividad;
        txtApellido.Text = cliente.Apellido;
        if (cliente.Categoria == Categoria.Cliente)
        {
            rbCliente.Checked = true;
        }
        else
        {
            rbProveedor.Checked = true;
        }

        txtCelular.Text = cliente.Telefono.Celular;
        txtTelefonoComercial.Text = cliente.Telefono.TelComercial;
        txtTelefonoDeposito.Text = cliente.Telefono.TelDeposito;
        txtTelPart.Text = cliente.Telefono.TelPart;
        txtFax.Text = cliente.Telefono.Fax;
        txtRazonSocial.Text = cliente.RazonSocial;
        txtCodigo.Text = cliente.Id.ToString();
        txtContacto.Text = cliente.Contacto;
        txtEmail.Text = cliente.Email;
        cliente.CuentaCorriente = new CuentaCorriente();
        txtCuenta.Text = cliente.CuentaCorriente.NumeroCuenta;
        cliente.Domicilio = new Domicilio();
        //cliente.Domicilio.Localidad.CodigoPostal = new CodigoPostal();
        txtCalle.Text = cliente.Domicilio.Calle;
        cliente.Domicilio.Localidad = new Localidad();
        SeleccionarLocalidad(cliente.Domicilio.Localidad);
        txtDepto.Text = cliente.Domicilio.Departamento;
        txtNumero.Text = cliente.Domicilio.Numero;
        txtPiso.Text = cliente.Domicilio.Piso;

        cliente.Domicilio.Localidad = GetLocalidadSeleccionada();
        //cliente.Domicilio.Localidad.Provincia = new Provincia();
        //txtProvincia.Text = cliente.Domicilio.Localidad.Provincia.NombreProv;
        //cliente.Domicilio.Pais = new Pais();
        //txtPais.Text = cliente.Domicilio.Localidad.Pais.NombrePais;            
        cliente.Identificacion = new Identificacion();
        txtNroDni.Text = cliente.Identificacion.Dni;
        txtCuit.Text = cliente.Identificacion.Cuit;
        txtNroCuil.Text = cliente.Identificacion.Cuil;
        txtNroCi.Text = cliente.Identificacion.Ci;
        txtNroLc.Text = cliente.Identificacion.Lc;
        txtNroLe.Text = cliente.Identificacion.Le;
        txtNombre.Text = cliente.Nombre;
        txtObservaciones.Text = cliente.Observaciones;
        txtPagWeb.Text = cliente.PagWeb;
        //cliente.Sexo = new Sexo();
        //cliente.Sexo = GetSexoSeleccionado();
        //cliente.SituacionIva = new SituacionIva();
        //cliente.SituacionIva = GetSituacionAnteIvaSeleccionada();
        txtObservaciones.Text = cliente.Observaciones;

        btnModificarCliente.Enabled = true;
        btnAceptar.Enabled = false;
        tsbGuardar.Enabled = false;
    }

    private void SeleccionarLocalidad(Localidad localidad)
    {
        cbbLocalidad.SelectedItem = localidad;
    }

修改客户信息时,电话、手机或传真的文本框填充了正确的数据,但应该显示地址(domicilio)的文本框和应该显示城市的组合框不是......我希望我很清楚足以让你明白我的担心。请提前帮助和谢谢。

4

2 回答 2

0

我不确定这是否正确,但似乎这就是您要问的。此方法将允许您将文本插入到数据网格中的 ComboBox 单元格中。

    private void ChangeComboBoxCellItems(int RowIndex, int ColumnIndex,string TextToAdd)
    {
        //this line finds the correct row and cell
        DataGridViewComboBoxCell ComboBoxCell = (DataGridViewComboBoxCell)dataGridView1.Rows[RowIndex].Cells[ColumnIndex];

        //this line inserts the text into the combobox items
        ComboBoxCell.Items.Add(TextToAdd);

        //This sets the display text to the string you added to the combobox
        ComboBoxCell.Value = TextToAdd;
    }
于 2012-10-03T22:11:16.700 回答
0

这是客户类

public class Cliente
    {
    public int Id { get; set; }
    public int Codigo { get; set; }
    public string Nombre { get; set; }
    public string Apellido { get; set; }
    public string RazonSocial { get; set; }
    public string Email { get; set; }
    public DateTime FechaIngreso { get; set; } 
    public Domicilio Domicilio { get; set; } // residencial
    public Domicilio DomicilioComercial { get; set; }
    public Domicilio DomicilioFiscal { get; set; } // para envio de facturas o tramites
    public Telefono Telefono { get; set; }
    public Telefono Celular { get; set; }
    public Telefono Fax { get; set; }
    public Telefono TelComercial { get; set; }
    public Telefono TelDeposito { get; set; }
    public string Contacto { get; set; }
    public SituacionIva SituacionIva { get; set; } // Si es resp. inscripto,monotributista o exento      
    public Identificacion Dni { get; set; }
    public Identificacion Cuil { get; set; }
    public Identificacion Cuit { get; set; }
    public Identificacion Lc { get; set; }
    public Identificacion Le { get; set; }
    public Identificacion Ci { get; set; }
    public ListaDePrecios ListaDePrecios { get; set; }
    public Vendedor Vendedor { get; set; }
    public string Actividad { get; set; }
    public Categoria Categoria { get; set; } // Si es cliente, provedor etc
    public Sexo Sexo { get; set; } // Masc o femenino        
    public string PagWeb { get; set; }
    public CuentaCorriente CuentaCorriente { get; set; }
    public string Observaciones { get; set; }
    public Identificacion Identificacion { get; set; }
}

}

于 2012-10-03T20:38:15.890 回答