none
Referencia a objeto no establecida como instancia de un objeto. RRS feed

  • Pregunta

  • Saludos amigos, estoy haaciendo un gridview en el que pueda actuallizar varias filas de una vez.

    para ello he puesto un boton en que he puesto el siguiente codigo:

        private bool tableCopied = false;
        private DataTable originalDataTable;

        protected void GridView1_RowDataBound1(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
                if (!tableCopied)
                {
                    originalDataTable = ((DataRowView)e.Row.DataItem).Row.Table.Copy();
                    ViewState["originalValuesDataTable"] = originalDataTable;
                    tableCopied = true;
                }
        }


        protected void btnActualizar_Click(object sender, EventArgs e)
        {
            originalDataTable = (DataTable)ViewState["originalValuesDataTable"];

        foreach (GridViewRow r in GridView1.Rows)
            if (IsRowModified(r)) { GridView1.UpdateRow(r.RowIndex, false); }

        // Rebind the Grid to repopulate the original values table.
        tableCopied = false;
        GridView1.DataBind();
    }

    protected bool IsRowModified(GridViewRow r)
    {
        int ID;
        string valor;

        ID = Convert.ToInt32(GridView1.DataKeys[r.RowIndex].Value);

        valor = ((TextBox)r.FindControl("txtValor")).Text;
        //currentFirstName = ((TextBox)r.FindControl("FirstNameTextBox")).Text;

    //LINEA QUE ME DA EL ERROR

        DataRow row = originalDataTable.Select(String.Format("Id_Hardware = {0}", ID))[0];

        if (!valor.Equals(row["Descripcion"].ToString())) { return true; }
        //if (!currentFirstName.Equals(row["FirstName"].ToString())) { return true; }

        return false;
        }

    (ESTO LO APRENDI DE UN TUTORIAL)

    El problema que tengo es el siguiente:

    cuando en el gridview muestro datos de un siple select, me funciona perfectamte, pero cuando el grid muestra datos de un select con joins me tira el error "

    Referencia a objeto no establecida como instancia de un objeto."..

    y la veradad ya no se que hacer, he probado de varias formas..

    espero alguien me pueda ayudar..

    Saludos..!!

    jueves, 23 de mayo de 2013 15:17