-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
Ah tá. Eu ainda não instalei o VS2005 aqui, por isso não estou muito a par das novidades. Abraços, Graymalkin
-
Agora entendi, mas isso não tem nada haver com o que falávamos antes (sobre limitar a edição na DataGrid). Mas, pode acontecer das células já estarem preenchidas e você vai querer que elas sejam substituídas com o alfabeto? Abraços, Graymalkin
-
Sinceramente não entendi o que você quer... Os dados deveriam ser adicionados na DataTable (ou na origem dos dados da DataGrid). Abraços, Graymalkin
-
Então utilize o método Find do recordset que está ligado à DataGrid. Ele vai posicionar sozinho. Abraços, Graymalkin
-
fiz uns testes aqui no VB6 e não funfou desta forma ae! não quebrou a linha! abraços Você definiu a propriedade Multiline como True? Graymalkin
-
Você vai escolher uma opção do seu menu certo? Nesse instante, vai haver uma célula selecionada, certo? Então, *nesse momento* você vai guardar a linha selecionada em um algum lugar (um variável qualquer). Isso porque depois, no evento CurrentCellChanged, você vai precisar saber qual a linha em que o caboclo estava quando selecionou a opção do menu (para que tudo para baixo dela possa ser editado e tudo para cima não). Entendeu agora? Graymalkin
-
Não sei se você é familiarizado com a programação Windows, mas todo o controle e ativação de eventos de uma janela ("janela" aqui é um termo bem amplo, abrangendo também botões, caixas de texto, listviews, datagrids, etc.) é feito através de mensagens. Estas mensagens são valores numéricos que representam o que a janela deve fazer (ou simplesmente detectar). O que a rotina WncProc nos permite é interceptar estas mensagens e decidir se elas devem ou não ser executadas (ou até mesmo alterar seus parâmetros). Certas mensagens podem ser utilizadas em diversos casos diferentes. Esse é justamente o caso da mensagem WM_NOTIFY que detectamos na rotina WndProc. As mensagens podem ter parâmetros que são informações úteis para a execução da mesma. Ao redimensionar uma coluna da ListView é enviada uma mensagem WM_NOTIFY com um parâmetro que é uma estrutura NMHDR. Nesta estrutura, também segue uma informação importante que está na propriedade Code. Se esta propriedade for igual a HDN_BEGINTRACK é porque o usuário está começando a tentar alterar o tamanho da coluna. Neste caso, atribui-se o valor 1 à propriedade Result, indicando assim que a alteração foi concluída e também ignora-se a execução desta mensagem ao não chamar a rotina WndProc da classe base. Como cada controle pode ter mensagens específicas, pode ser que isso só sirva apenas para a ListView. Sacou? Abraços, Graymalkin
-
Nunca vi esse operador não. A divisão inteira em C# é executada quando ambos os elementos são inteiros. Faça o teste (usei um WebForm no exemplo, mas você pode trocar por MessageBoxes em WindowsForms): int i = 15; int j = 4; Response.Write(i/j); Response.Write(i/(double)j); Response.Write((double)i/j); Não, não tem. Só mesmo utilizando Math.pow(). Onde você encontrou esse operador? Não seria o operador condicional (?)? Se for, ele é igual ao Iif() do VB, que testa uma condição e retorna um dos outros dois parâmetros passados. Deslocam um bit para a direita ou para a esquerda. Por exemplo: int i = 2; int j = i >> 1; int k = i << 1; No caso acima, j vai ser 1, porque 2 em binário é "10" e se deslocarmos o primeiro bit para a direita (>>) teremos "01", que é 1 em decimal. E k vai ser 4, porque se delocarmos o primeiro bit de "10" (2 em decimal) para a esquerda, teremos "100" que é 4 em decimal. Sacou? Exatamente. Abraços, Graymalkin
-
Dê uma olhada no seu outro tópico (http://scriptbrasil.com.br/forum/index.php?showtopic=69626) porque acabei de postar uma solução lá. Abraços, Graymalkin
-
Bom, demorou (e deu um trabalho e tanto), mas consegui fazer. Declare a seguinte classe dentro da classe da página: public class ColunaLinkButton2 : DataGridColumn { private int linha = 0; void ColunaLinkButton_Click(object sender, EventArgs e) { LinkButton botão = (LinkButton)sender; TableCell célula = (TableCell)botão.Parent; DataGridItem item = (DataGridItem)célula.Parent; DataGrid dg = (DataGrid)item.Parent.Parent; LinkButton l = (LinkButton)célula.Controls[0]; string para = String.Format("{0}?{1}={2}", "procura.aspx", l.Attributes["Coluna"], l.Text); dg.Page.Response.Write(para); // dg.Page.Server.Transfer(para) } public override void InitializeCell(System.Web.UI.WebControls.TableCell cell, int columnIndex, System.Web.UI.WebControls.ListItemType itemType) { if (itemType == ListItemType.Header) { // pass } else { DataGrid dg = (DataGrid)this.Owner; DataTable dt = (DataTable)dg.DataSource; if (linha < dt.Rows.Count) { LinkButton l = new LinkButton(); l.Text = dt.Rows[linha][columnIndex].ToString(); l.Attributes.Add("Coluna", dt.Columns[columnIndex].ColumnName); cell.Controls.Add(l); l.Click += new System.EventHandler(ColunaLinkButton_Click); linha++; } else { linha = 0; } } base.InitializeCell(cell, columnIndex, itemType); } } Depois, coloque o seguinte no evento Load da página: DataTable dt = new DataTable("Tabela"); dt.Columns.AddRange(new DataColumn[] {new DataColumn("Código", Type.GetType("System.Int32")), new DataColumn("Nome", Type.GetType("System.String"))}); dt.Rows.Add(new object[] {1, "Junior"}); dt.Rows.Add(new object[] {2, "Graymalkin"}); dt.Rows.Add(new object[] {3, "Ramon"}); dt.Rows.Add(new object[] {4, "Teste"}); ColunaLinkButton2 col1 = new ColunaLinkButton2(); col1.HeaderText = "Código:"; ColunaLinkButton2 col2 = new ColunaLinkButton2(); col2.HeaderText = "Nome:"; DataGrid1.Columns.Add(col1); DataGrid1.Columns.Add(col2); DataGrid1.AutoGenerateColumns = false; DataGrid1.DataSource = dt; DataGrid1.DataBind(); Faça um teste aí e veja o resultado. Certo? Graymalkin
-
Não seria melhor você mostrar na DataGrid apenas o recordset filtrado? Ou seja: set DataGrid1.DataSource = oRS Não? Graymalkin
-
Troque os * por % na instrução SQL e veja se dá certo. Abraços, Graymalkin
-
Dê uma pesquisada sobre uma função da API Win32 chamada GetShortPathName. Acho que ela é o que você precisa. Abraços, Graymalkin
-
Experimente abrir o recordset através do método Open() do mesmo (e não através de um Execute() da conexão). Não tenho certeza, mas talvez o cursor de um Execute() seja forward-only. Abraços, Graymalkin
-
Como Copiar Arquivos De Uma Maquina Para Outra ?
pergunta respondeu ao juna1 de Graymalkin em C, C++
Dá algum tipo de erro? Já experimentou criar um arquivo .bat com esse comando e mandar executar ele ao invés do comando direto? Abraços, Graymalkin -
Galera Tenhu Uma Duvida Facil Porem Nao Sei!
pergunta respondeu ao PedroBarreto de Graymalkin em Visual Basic
Você olhou se "com1.filename" te retorna o caminho *completo* do arquivo? Não estou com o VB aqui, por isso não tenho certeza sobre isso. Abraços, Graymalkin -
Não... eu digo algo assim: dgHexa.ReadOnly = dgHexa.CurrentRowIndex >= LINHACLICADA Onde "LINHACLICADA" seria um campo da classe que guardaria posição da linha clicada. Sacou? Graymalkin
-
essa árte ai do *ColunaLinkButton* ta faltando criar esse metodo ou classe certo? porque eu apenas estava olhando o link q você me passou, e tava assim o codigo... dai eu tava olhando la o link e enpaquei na parte da classe la, porque to fazendo em c#, e também n entendi nada doq você fez la, você pode me dizer como q faz m c# tudo aquilo, e seila se possivel explicar o codigo... porque ta foda.... tem também um Public Sub InstantiateIn(ByVal container As System.Web.UI.Control) Implements System.Web.UI.ITemplate.InstantiateIn e também um Public Sub ColunaLinkButton_Click(ByVal sender As Object, ByVal e As EventArgs) nem sei como você chegou ai, você teve q digitar td isso ai, ou você entrou em algum evento do ColunaLinkButton...? tipo o click dele ai.... desculpe encher o saco mais uma vez...falou Sim, o Visual Studio.NET lista os métodos e propriedades para serem sobrescritos, porém acho que ele só faz isso para o VB.NET (estranhamente a Microsoft não colocou isso para o C#). De qualquer maneira, tive que reinstalar o computador ontem e ainda não instalei o VS.NET. Assim que eu instalar vou portar aquele código do VB.NET para o C# e colocar aqui. Me lembre, se não eu esqueço! Abraços, Graymalkin
-
Beleza. Qualquer coisa, 'stamos aí. Abraços, Graymalkin
-
Quando você clica em um controle qualquer (um botão, por exemplo), essa propriedade não aparece na janelinha de propriedades (junto com as outras)? Abraços, Graymalkin
-
Acredito que seria algo assim (estou sem o VS aqui para confirmar): If ds.Tables(0).Rows.Count = 0 Then MessageBox.Show("Vazio!") Else MessageBox.Show("Não-Vazio!") End If Certo? Graymalkin
-
Se isso é JavaScript então por quê o "then" e o "end if"? Não utiliza-se {} para delimitar os blocos? Abraços, Graymalkin
-
Aí vai um exemplo simples: System.Xml.XmlTextReader r = new System.Xml.XmlTextReader("c:\\pasta\\arquivo.xml"); while (r.Read()) { System.Console.WriteLine("nó [nome={0}] [valor={1}]", r.Name, r.Value); } r.Close(); Certo? Graymalkin
-
No tópico http://scriptbrasil.com.br/forum/index.php?showtopic=67670 já existe um exemplo disso. Dê uma olhada lá e qualquer coisa, 'stamos aí. Abraços, Graymalkin
-
Você vai ter que guardar a linha e coluna selecionada, e utilizar estas informações na condição acima. Ou seja, ainda é do mesmo jeito (só o que vai mudar é a condição). Certo? Graymalkin