/// <summary> /// Aa /// </summary> /// <param name="LstPecas"></param> private void CarregaListaPecasGrid(List <String> LstPecas) { if (LstPecas == null && LstPecas.Count == 0) { return; } List <String> processados = new List <string>(); //Instância o objeto. //SkaSwDocMgr docMgr = new SkaSwDocMgr(SkaSwDocMgr.e_SkaVersaoDc.V2018); foreach (String s in LstPecas) { //Se estiver vazio a string, o arquivo não existir ou se já foi processado, continua. if (String.IsNullOrEmpty(s) || !System.IO.File.Exists(s) || processados.Where(x => x.ToUpper().Trim() == s.ToUpper().Trim()).Count() > 0) { continue; } processados.Add(s); if (s.ToUpper().Trim().EndsWith(".SLDPRT")) { //Recebe os nós do UltraTreeView para a partir dele, ir adicionados os próximos 'nodos' (filhos). UltraTreeNode tmp = utv.Nodes.Add(); //Primeira adiciona o no pai tmp.Cells[(int)e_SkaColunas.Importar].Value = true; //Adiciona a imagem ao tipo de componente (peça ou conjunto) EmbeddableImageRenderer embeddableImageRenderer = new EmbeddableImageRenderer(); embeddableImageRenderer.DrawBorderShadow = false; tmp.Cells[(int)e_SkaColunas.Tipo].Editor = embeddableImageRenderer; tmp.Cells[(int)e_SkaColunas.Tipo].Value = Properties.Resources.sw_part; tmp.Cells[(int)e_SkaColunas.NomeItem].Value = s.Substring(s.LastIndexOf("\\") + 1); tmp.Cells[(int)e_SkaColunas.CaminhoItem].Value = s.Substring(s.LastIndexOf("\\")); tmp.Cells[(int)e_SkaColunas.Revisao].Value = 1;//Sempre deixar como 1, pois ficaria inviável deixar zero. tmp.Cells[(int)e_SkaColunas.Maquina].Value = ""; tmp.Cells[(int)e_SkaColunas.Material].Value = ""; tmp.Cells[(int)e_SkaColunas.Nivel].Value = 0; tmp.Cells[(int)e_SkaColunas.Ativo].Value = 1; utv.Nodes.Add(tmp); } else { } } }
private void ultraGrid1_InitializeLayout(object sender, InitializeLayoutEventArgs e) { e.Layout.Override.RowSelectors = DefaultableBoolean.True; e.Layout.Override.RowSelectorNumberStyle = RowSelectorNumberStyle.VisibleIndex; e.Layout.Override.RowSelectorWidth = 30; EmbeddableImageRenderer imgEditor = new EmbeddableImageRenderer(); // Give the images a slim grayish border and align them to be in the middle of the cell. imgEditor.BorderShadowColor = Color.FromArgb(255, 128, 128); imgEditor.BorderShadowDepth = 2; //e.Layout.Bands[0].Columns["图像"].Editor = imgEditor; e.Layout.Bands[0].Columns["图像"].CellAppearance.ImageHAlign = HAlign.Center; e.Layout.Bands[0].Columns["图像"].CellAppearance.ImageVAlign = VAlign.Middle; }
/// <summary> /// Método que monta a estrutura de pai e filho na grade de dados em forma de árvore. /// </summary> /// <param name="ListaArtigos">Lista de peças do banco de dados SQL</param> private void MontaEstruturaArvore(ListaArtigos ListaArtigos) { List <String> processados = new List <string>(); if (ListaArtigos != null && ListaArtigos.Count > 0) { foreach (Artigo a in ListaArtigos) { //Se já foi processado, ignora o item. if (processados.Where(x => x.ToUpper() == a.id.ToString().ToUpper()).Count() > 0) { continue; } //Adiciona o item na lista de processados. processados.Add(a.id.ToString()); //Recebe os nós do UltraTreeView para a partir dele, ir adicionados os próximos 'nodos' (filhos). UltraTreeNode n = utv.Nodes.Add(); //Primeira adiciona o no pai n.Cells[(int)e_SkaColunas.Selecionar].Value = false; //Adiciona a imagem ao tipo de componente (peça ou conjunto) EmbeddableImageRenderer embeddableImageRenderer = new EmbeddableImageRenderer(); embeddableImageRenderer.DrawBorderShadow = false; n.Cells[(int)e_SkaColunas.Tipo].Editor = embeddableImageRenderer; n.Cells[(int)e_SkaColunas.Tipo].Value = DefineImagemArtigo(a.IsPai); n.Cells[(int)e_SkaColunas.NomeItem].Value = a.NomePeca; n.Cells[(int)e_SkaColunas.Nivel].Value = a.Nivel; n.Cells[(int)e_SkaColunas.Ativo].Value = a.Ativo; n.Cells[(int)e_SkaColunas.Revisao].Value = a.Revisao; //Procuro os filhos List <Artigo> lstFilhos = ListaArtigos.Where(x => x.NomePai.ToUpper() == a.NomePeca.ToUpper()).AsEnumerable().OrderBy(y => a.NomePeca).ToList(); //Possui filhos e os adiciono no grid. if (lstFilhos.Count > 0) { foreach (Artigo filho in lstFilhos) { //Recebe os nós já adicionados no pai. UltraTreeNode noFilho = n.Nodes.Add(); //Adiciona os elementos filhos à árvore noFilho.Cells[(int)e_SkaColunas.Selecionar].Value = false; //Adiciona a imagem ao tipo de componente (peça ou conjunto) EmbeddableImageRenderer embeddableImageRenderer_f = new EmbeddableImageRenderer(); embeddableImageRenderer_f.DrawBorderShadow = false; noFilho.Cells[(int)e_SkaColunas.Tipo].Editor = embeddableImageRenderer_f; noFilho.Cells[(int)e_SkaColunas.Tipo].Value = DefineImagemArtigo(filho.IsPai); noFilho.Cells[(int)e_SkaColunas.NomeItem].Value = filho.NomePeca; noFilho.Cells[(int)e_SkaColunas.Nivel].Value = filho.Nivel; noFilho.Cells[(int)e_SkaColunas.Ativo].Value = filho.Ativo; noFilho.Cells[(int)e_SkaColunas.Revisao].Value = filho.Revisao; n.Nodes.Add(noFilho); //Adiciona o item na lista de processados. processados.Add(filho.id.ToString()); } } utv.Nodes.Add(n); } // Após o 'foreach', expande a árvore. utv.ExpandAll(); } }
/// <summary> /// Método que recebe uma lista de objeto e popula o UltraDataGridView. /// </summary> /// <param name="Instrucoes">Lista de objetos contendo as instruções de um determinado trabalho</param> private void CarregaInstrucoes_Arvore(DataTable Instrucoes) { List <String> processados = new List <string>(); for (int x = 0; x < Instrucoes.Rows.Count; x++) { //Se já foi processado, ignora o item. if (processados.Where(p => p.ToUpper() == Instrucoes.Rows[x]["Ordem"].ToString().ToUpper().Trim()).Count() > 0) { continue; } //Adiciona o item na lista de processados. processados.Add(Instrucoes.Rows[x]["Ordem"].ToString().ToUpper().Trim()); //Recebe os nós do UltraTreeView para a partir dele, ir adicionados os próximos 'nodos' (filhos). UltraTreeNode n = utv.Nodes.Add(); //Primeira adiciona o no pai n.Cells[(int)e_Colunas.Ordem].Value = Instrucoes.Rows[x]["Ordem"].ToString(); n.Cells[(int)e_Colunas.Tipo_Instrucao_Db].Value = Instrucoes.Rows[x]["Tipo_Instru_Db"].ToString(); EmbeddableImageRenderer embeddableImageRenderer = new EmbeddableImageRenderer(); embeddableImageRenderer.DrawBorderShadow = false; n.Cells[(int)e_Colunas.Img_Tipo_Instrucao].Editor = embeddableImageRenderer; n.Cells[(int)e_Colunas.Img_Tipo_Instrucao].Value = DefineImagemInstrucao(Instrucoes.Rows[x]["Tipo_Instru_Db"].ToString()); n.Cells[(int)e_Colunas.Descricao].Value = Instrucoes.Rows[x]["Descrição"].ToString(); n.Cells[(int)e_Colunas.Speed].Value = Instrucoes.Rows[x]["Velocidade (RPM)"].ToString(); n.Cells[(int)e_Colunas.Feed].Value = Instrucoes.Rows[x]["Avanço lateral"].ToString(); n.Cells[(int)e_Colunas.Plunge].Value = Instrucoes.Rows[x]["Avanço vertical"].ToString(); n.Cells[(int)e_Colunas.Tempo_Usinagem].Value = Instrucoes.Rows[x]["Tempo do processo"].ToString(); //Procuro os filhos var filhos = Instrucoes.Select(String.Format("Ordem like '{0}.%'", Instrucoes.Rows[x]["Ordem"].ToString())); //Possui filhos e os adiciono no grid. if (filhos != null && filhos.Count() > 0) { for (int y = 0; y < filhos.Count(); y++) { //Recebe os nós já adicionados no pai. UltraTreeNode noFilho = n.Nodes.Add(); //Primeira adiciona o no pai //noFilho.Cells[0].Value = null; noFilho.Cells[(int)e_Colunas.Ordem].Value = InsereTabArvore(filhos[y]["Ordem"].ToString(), 1); noFilho.Cells[(int)e_Colunas.Tipo_Instrucao_Db].Value = filhos[y]["Tipo_Instru_Db"].ToString(); EmbeddableImageRenderer embeddableImageRenderer_f = new EmbeddableImageRenderer(); embeddableImageRenderer_f.DrawBorderShadow = false; noFilho.Cells[(int)e_Colunas.Img_Tipo_Instrucao].Editor = embeddableImageRenderer_f; noFilho.Cells[(int)e_Colunas.Img_Tipo_Instrucao].Value = DefineImagemInstrucao(filhos[y]["Descrição"].ToString()); noFilho.Cells[(int)e_Colunas.Descricao].Value = filhos[y]["Descrição"].ToString(); noFilho.Cells[(int)e_Colunas.Speed].Value = filhos[y]["Velocidade (RPM)"].ToString(); noFilho.Cells[(int)e_Colunas.Feed].Value = filhos[y]["Avanço lateral"].ToString(); noFilho.Cells[(int)e_Colunas.Plunge].Value = filhos[y]["Avanço vertical"].ToString(); noFilho.Cells[(int)e_Colunas.Tempo_Usinagem].Value = filhos[y]["Tempo do processo"].ToString(); n.Nodes.Add(noFilho); //Adiciona o item na lista de processados. processados.Add(filhos[y]["Ordem"].ToString()); } } //A primeira célula irá conter uma imagem para expandir a árvore. //Caso o nó seja um filho, não irá conter imagem nenhuma if (n.HasNodes) { // Tive de adicionar esses controles abaixo para conseguir visualizar a imagem (ainda não sei o motivo //do porque eu precisar fazer isso!) EmbeddableImageRenderer embeddableImageRenderer_p = new EmbeddableImageRenderer(); embeddableImageRenderer_p.DrawBorderShadow = false; n.Cells[(int)e_Colunas.Img_Expandir].Editor = embeddableImageRenderer_p; //n.Cells[(int)e_Colunas.Img_Expandir].Value = Properties.Resources.arrow_expandir; n.Cells[(int)e_Colunas.Img_Expandir].Value = Imagens_NewLookInterface.subtrair_menos_16; } else { EmbeddableImageRenderer embeddableImageRenderer_p = new EmbeddableImageRenderer(); embeddableImageRenderer_p.DrawBorderShadow = false; n.Cells[(int)e_Colunas.Img_Expandir].Editor = embeddableImageRenderer_p; //n.Cells[(int)e_Colunas.Img_Expandir].Value = Properties.Resources.arrow_direita; //n.Cells[(int)e_Colunas.Img_Expandir].Value = Imagens_NewLookInterface.subtrair_menos_16; } utv.Nodes.Add(n); } utv.ExpandAll(); }