Criando um temporário DataTable gerando erro (Referência de objeto não definida para uma instância de um objeto)
27/02/2014
0
Amigos
Veja se podem me ajudar, tenho a necessidade de criar um DataTable temporário , estou fazendo assim:
Agradeço a ajuda!
No momento de fazer a inserção me gera o erro: (Referência de objeto não definida para uma instância de um objeto)
Veja se podem me ajudar, tenho a necessidade de criar um DataTable temporário , estou fazendo assim:
Agradeço a ajuda!
if (!IsPostBack) { //dataTable para guarda dados temporario dtb = new DataTable(); dtb = CriaDataTable(); Session["mDatatable"] = dtb; GridResumoTotal.DataSource = ((DataTable)Session["mDatatable"]).DefaultView; GridResumoTotal.DataBind(); } //criar um DataTable temporário private DataTable CriaDataTable() { DataTable mDataTable = new DataTable(); DataColumn mDataColumn; mDataColumn = new DataColumn(); mDataColumn.DataType = Type.GetType("System.String"); mDataColumn.ColumnName = "CODIGO"; mDataTable.Columns.Add(mDataColumn); mDataColumn = new DataColumn(); mDataColumn.DataType = Type.GetType("System.String"); mDataColumn.ColumnName = "MODALIDADE"; mDataTable.Columns.Add(mDataColumn); mDataColumn = new DataColumn(); mDataColumn.DataType = Type.GetType("System.Int32"); mDataColumn.ColumnName = "QTD_OBJ_16"; mDataTable.Columns.Add(mDataColumn); mDataColumn = new DataColumn(); mDataColumn.DataType = Type.GetType("System.Int32"); mDataColumn.ColumnName = "QTD_OBJ_17"; mDataTable.Columns.Add(mDataColumn); return mDataTable; } private void incluirNoDataTable(string modalidade, Int32 qtd_obj16, Int32 qtd_obj_17, DataTable mTable) { DataRow linha; linha = mTable.NewRow(); //gera o número GUID linha["Codigo"] = Guid.NewGuid().ToString(); linha["MODALIDADE"] = modalidade; linha["QTD_OBJ_16"] = qtd_obj16; linha["QTD_OBJ_17"] = qtd_obj_17; mTable.Rows.Add(linha); }
No momento de fazer a inserção me gera o erro: (Referência de objeto não definida para uma instância de um objeto)
incluirNoDataTable("TOTAL GERAL DIA : ", Int32.Parse(footer.Cells[16].Text), Int32.Parse(footer.Cells[17].Text), (DataTable)Session["mDatatable"]); GridResumoTotal.DataSource = ((DataTable)Session["myDatatable"]).DefaultView; GridResumoTotal.DataBind();
Itamar Souza
Curtir tópico
+ 0
Responder
Posts
27/02/2014
Murilo Teixeira
Esse erro pode ser motivado por duas coisas:
(DataTable)Session["mDatatable"] está nulo
Ou
footer.Cells[16] é nulo e não consegue pegar o atributo Text
footer.Cells[17] é nulo e não consegue pegar o atributo Text
Acho que se você debuggar a aplicação consegue descobrir qual está vindo nulo.
(DataTable)Session["mDatatable"] está nulo
Ou
footer.Cells[16] é nulo e não consegue pegar o atributo Text
footer.Cells[17] é nulo e não consegue pegar o atributo Text
Acho que se você debuggar a aplicação consegue descobrir qual está vindo nulo.
Responder
28/02/2014
Itamar Souza
Mais uma vez agradeço, achei o problema, no momento de inseri os dados eu estava passando o ((DataTable)Session["myDatatable"]).DefaultView que é diferente do que tinha sido criado. O correto seria mDatatable
Agradeço
Agradeço
Responder
Clique aqui para fazer login e interagir na Comunidade :)