Foros del Web » Programación para mayores de 30 ;) » .NET »

Insertar fila en DataGridView [Ayuda]

Estas en el tema de Insertar fila en DataGridView [Ayuda] en el foro de .NET en Foros del Web. Bueno pues tengo un problemilla con la edicion en un datagrid Estoy elaborando una aplicacion que genera pedidos para su posterior facturacion, en la creacion ...
  #1 (permalink)  
Antiguo 23/02/2010, 09:48
Avatar de Darkavender  
Fecha de Ingreso: septiembre-2008
Ubicación: SLV
Mensajes: 125
Antigüedad: 15 años, 7 meses
Puntos: 4
Insertar fila en DataGridView [Ayuda]

Bueno pues tengo un problemilla con la edicion en un datagrid



Estoy elaborando una aplicacion que genera pedidos para su posterior facturacion, en la creacion del pedido no tengo ningun problema, pero al momento de la edidion de un pedido me he encontrado con una dificultad.


el escenario es el siguiente...


Tengo un dataset el cual aplico al grid

Me.DataGridView1.DataSource = OdatasetDetallePedido
Me.DataGridView1.DataMember = "DETALLEPEDIDO"



lo que necesito es que el contenido de los text box al presionar el boton guardar se agrege la linea al datagrid y posteriormente actualizarlo en la tabla fisica [ahi no tengo problema]

creo que el inconveniente es por que el grid esta enlazado

si alguien me ayuda gracias de antemano
  #2 (permalink)  
Antiguo 23/02/2010, 13:03
 
Fecha de Ingreso: septiembre-2009
Ubicación: Galicia
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Insertar fila en DataGridView [Ayuda]

Hola!

yo agregaría esa nueva linea al dataset y después refrescaría el grid.

fila = OdatasetDetallePedido.NewRow

fila.item("Articulo") = textbox.Text
...
...
OdatasetDetallePedido.Rows.Add(fila)

con esto, el dataset que alimenta al grid ya tiene la nueva linea. Después, refrescando el grid, debería funcionar...

Saludos!

Última edición por jarogo; 24/02/2010 a las 02:02
  #3 (permalink)  
Antiguo 23/02/2010, 13:36
Avatar de Darkavender  
Fecha de Ingreso: septiembre-2008
Ubicación: SLV
Mensajes: 125
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Insertar fila en DataGridView [Ayuda]

Cita:
Iniciado por jarogo Ver Mensaje
Hola!

yo agregaría esa nueva linea al dataset y después refrescaría el grid.

fila = OdatasetDetallePedido.NewRow

fila.item("Articulo") = textbox.Text

OdatasetDetallePedido.Rows.Add(fila)

con esto, el dataset que alimenta al grid ya tiene la nueva linea. Después, refrescando el grid, debería funcionar...

Saludos!
Gracias por responder

podrias decirme como que tipo declaro la variable Fila?
  #4 (permalink)  
Antiguo 24/02/2010, 02:02
 
Fecha de Ingreso: septiembre-2009
Ubicación: Galicia
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Insertar fila en DataGridView [Ayuda]

por supuesto:

Dim fila as Datarow

Saludos!
  #5 (permalink)  
Antiguo 04/06/2012, 08:00
Avatar de gerson_533  
Fecha de Ingreso: junio-2012
Mensajes: 3
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Insertar fila en DataGridView [Ayuda]

yo tengo el mismo problema estoy realizando una factura en c# enla zada a datos con sql, me agrega los datos pero me deja una linea en blanco , como si se reseteara la datagridview, digito el codigo del producto desde la column1 posicion (0,0);cuando se pulsa la tecla inter se ejecuta la consulta select y muestra el registro con los datos en la fila 0, pero cuano en la posicion (0,1), me muestra el resultado en la fila 2 y me deja la fila 1 en blanco. aqui esta el codigo que estoy utilizando , espero me puedan ayudar y gracias.

namespace WindowsFormsApplication1
{
public partial class Form1 : Form

{
SqlConnection miconexion = new SqlConnection("Data Source=PORTATILCD; Initial Catalog=prueba; Integrated Security=True");

int fila = 0;
float total = 0;
string subtotal;
SqlDataAdapter da;
DataTable dt = new DataTable();
DataSet ds = new DataSet();

public Form1()
{
InitializeComponent();
//dataGridView1.Rows.Add(1);

}


private void dataGridView1_KeyUp(object sender, KeyEventArgs e)
{

if (e.KeyCode == Keys.Enter)
{

miconexion.Open();

String testValue1 = (String)dataGridView1["Column1", fila].Value.ToString();

SqlCommand consulta = new SqlCommand("select cod_pro as Codigo,nom_prod as Producto,descripcion as Descripcion,costo as Costo,unitario as Unitario from producto where cod_pro='" + testValue1 +"'", miconexion);
da = new SqlDataAdapter(consulta);
da.Fill(dt);

try
{

dataGridView1.AutoGenerateColumns = false;

this.dataGridView1.DataSource = dt;

subtotal = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[5].Value.ToString();


total = total + float.Parse(subtotal);
fila = fila + 1;
miconexion.Close();




}


catch (Exception exp)
{
MessageBox.Show(exp.Message, "Error General");

}


if (dataGridView1.CurrentRow.Index == dataGridView1.RowCount - 1)
{
DataTable dts = null;
dts = dataGridView1.DataSource as DataTable;
DataRow row = dts.NewRow();

dts.Rows.Add(row);
dataGridView1.DataSource = dts;

}

}
textBox3.Text = total.ToString();
}

Etiquetas: datagridview, fila
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:29.