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