| ♥ 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
123 views