| ♥ 0 | Duplicate. This question already has an answer here: Adicionar linhas à prigrelha por código Boas tardes. Carregar dados para uma PriGrelha com base numa lista é fácil: priGrelhaDocumentos.DataBind(lista); Mas como inserir dados manualmente? Tenho um caso especifico em que, depois de carregar a grelha com dados usando o método acima, preciso de adicionar várias linhas adicionais. Tentei o seguinte código sem sucesso:             if (!lista.Vazia())
            {
                int row = priGrelhaDocumentos.NumeroRegistos ;
                
                while (!lista.NoFim())
                {
                    priGrelhaDocumentos.GRID_InsereLinhaEdicao(ref row);
                    //priGrelhaDocumentos.InsereLinhas(row);
                    priGrelhaDocumentos.SetGRID_SetValorCelula(row, "data", lista.Valor("Data").ToString());
                    priGrelhaDocumentos.SetGRID_SetValorCelula(row, "nif", lista.Valor("NIF").ToString());
                    priGrelhaDocumentos.SetGRID_SetValorCelula(row, "nome", lista.Valor("NomeEntidade").ToString());
                    priGrelhaDocumentos.Grid_SetForeColor("data", "IdDocPrimavera", row, row, System.Drawing.Color.Red);
                    priGrelhaDocumentos.NumeroMaxRegistosSemPag++;
                    priGrelhaDocumentos.NumeroRegistos++;
                    row++;
                    lista.Seguinte();
                }
    priGrelhaDocumentos.PerformAutoScale();
            }Certamente há maneira de adicionar linhas manualmente sem fazer o Data Binding? Marked as spam | 
| Comments  Penso que é isto que queres.  Desculpa a demora Sérgio mas queria testar bem isto antes de responder.  Parece-me ser o que preciso mas simplesmente não consigo que funcione.  ```
int row = 1;  while (theData.Read())
 {
 var numRows = priGrelha1.Grelha.DataRowCnt;  Funcionario = theData["Funcionario"].ToString();
 CCusto = theData["CCusto"].ToString();
 Percentagem = Convert.ToDouble(theData["Percentagem"].ToString());
 Mes = Convert.ToInt32(theData["Mes"].ToString());
 Ano = Convert.ToInt32(theData["Ano"].ToString());  priGrelha1.GRID_InsereLinhaEdicao(ref row);
 priGrelha1.SetGRID_SetValorCelula(row, "funcionario", Funcionario);
 priGrelha1.SetGRID_SetValorCelula(row, "ccusto", CCusto);
 priGrelha1.SetGRID_SetValorCelula(row, "percentagem", Percentagem);
 priGrelha1.SetGRID_SetValorCelula(row, "mes", Mes);
 priGrelha1.SetGRID_SetValorCelula(row, "ano", Ano);  //row++;  }  theData.Close();
```  O while corre até ao fim sem problemas mas "visualmente" nada acontece. É suposto chamar algum método para atualizar depois de adicionar as linhas?  Com relação ao row experimentei também incrementar a cada passagem para, assumi eu, adicionar as novas linhas sempre no fim mas assim que passa para row = 2 dá erro de "out of bound".  Não percebo o que estou a fazer mal  OK já percebi, para adicionar linhas desta forma a Grid tem de estar em modo de edição!  Isso significa então que para ter uma grid em modo de consulta só com databind? Ou é possivel adicionar os dados que queremos e depois voltar a meter a grid em modo de consulta? | 
Como inserir linhas manualmente numa PriGrelha?
Duplicate
 122 views