caezar 0 Denunciar post Postado Janeiro 21, 2010 Lá vai mais uma amigos... Tengo em um gridView conectado a um datasource. Neste gride tenho varios campos. Um deles é um campo data e outro é um template com textbox. Gostaria de saber como desabilitar este textbox de acordo com a data, exemplo: se a data for menor que hoje() o textbox da linha é bloqueado. Um abs e bom feriado a todos! Compartilhar este post Link para o post Compartilhar em outros sites
NS-5 Without the 3 Law 0 Denunciar post Postado Janeiro 21, 2010 Lá vai mais uma amigos... Tengo em um gridView conectado a um datasource. Neste gride tenho varios campos. Um deles é um campo data e outro é um template com textbox. Gostaria de saber como desabilitar este textbox de acordo com a data, exemplo: se a data for menor que hoje() o textbox da linha é bloqueado. Um abs e bom feriado a todos! Feriado?!?!?! Onde D= ? Hahahaha Bem cara, por ser um template você pode colocar um evento JS ele... Sabe como fazer? Compartilhar este post Link para o post Compartilhar em outros sites
caezar 0 Denunciar post Postado Janeiro 21, 2010 Feriado?!?!?! Onde D= ? Hahahaha Bem cara, por ser um template você pode colocar um evento JS ele... Sabe como fazer? Pô as vezes precisamos de feriados!!! rsssss Cara não tenho a minima... To começando em asp.net Se você puder me mandar um exemplo! Absss Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Janeiro 22, 2010 Cesar no textbox é so colocar assim <asp:TextBox runat="server" Visible='<%# Equals(DateTime.Parse(Eval("SuaData").ToString() >= DateTime.Today) %>' /> Compartilhar este post Link para o post Compartilhar em outros sites
caezar 0 Denunciar post Postado Janeiro 22, 2010 Cesar no textbox é so colocar assim <asp:TextBox runat="server" Visible='<%# Equals(DateTime.Parse(Eval("SuaData").ToString() >= DateTime.Today) %>' /> Então amigos os textBox estão dentro duma coluna de template do gridVIew... Eu procuro o código refereneta a ele no html e adiciono esta condiçãoe? E como eu quero apenas bloquear o textBox eu ponho ao invez de visible, enabled? Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Janeiro 22, 2010 Isso, pelo html (Code) da pagina, e sobre o enable é isso mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
caezar 0 Denunciar post Postado Janeiro 25, 2010 Amigo, Esta acontecendo este erro: Detalhes da Exceção: System.FormatException: A seqüência não foi reconhecida como um DateTime válido. Há uma palavra desconhecida iniciando o índice 0. Erro de Origem: Linha 161: </EditItemTemplate> Linha 162: <ItemTemplate> Linha 163: <asp:TextBox ID="TextBox4" runat="server" Height="21px" Linha 164: Text='<%# Bind("GolsV") %>' Width="21px" Linha 165: Enabled='<%# Equals(DateTime.Parse(Eval("Data_Hora").ToString() >= DateTime.Today)) %>'></asp:TextBox> O que seria? Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Janeiro 26, 2010 Pelo erro sua coluna Eval("Data_Hora") deve está vazio ou não é uma data! Compartilhar este post Link para o post Compartilhar em outros sites
caezar 0 Denunciar post Postado Janeiro 26, 2010 Pelo erro sua coluna Eval("Data_Hora") deve está vazio ou não é uma data! Resolvi desta forma, amigos! Enabled='<%# Equals(Eval("Data_Hora").ToString() >= DateTime.Today) %> '> Mas ele bloqueia os campos de todas as linhas do grid! Como fazer isso apenas com a linha em que a data for menos ou igual? abs Obrigado pela ajuda, mais um vez! rssss Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Janeiro 27, 2010 Fala cesar, cara dessa forma ai creio que não da certo pq você ta comparando uma String com uma Data. Sacou! Na verdade eu me equivoquei, pois com o Método Equals ele só compara dois objetos e não compara diferenças. Tenta assim não da certo: Enabled='<%# DateTime.Parse(Eval("Data_Hora").ToString() >= DateTime.Today ? true: false %> '> Compartilhar este post Link para o post Compartilhar em outros sites
caezar 0 Denunciar post Postado Janeiro 27, 2010 Fala cesar, cara dessa forma ai creio que não da certo pq você ta comparando uma String com uma Data. Sacou! Na verdade eu me equivoquei, pois com o Método Equals ele só compara dois objetos e não compara diferenças. Tenta assim não da certo: Enabled='<%# DateTime.Parse(Eval("Data_Hora").ToString() >= DateTime.Today ? true: false %> '> Acontece este erro: Descrição: Erro ao compilar um recurso necessário para atender esta solicitação. Examine os detalhes específicos do erro e modifique o código fonte apropriadamente. Mensagem de Erro do Compilador: BC30037: Caractere inválido. Erro de Origem: Linha 150: </EditItemTemplate> Linha 151: <ItemTemplate> Linha 152: <asp:TextBox ID="TextBox3" runat="server" Height="21px" Linha 153: Text='<%# Bind("GolsM") %>' Width="21px" Linha 154: Enabled='<%# DateTime.Parse(Eval("Data_Hora").ToString()) >= DateTime.Today ? true: false %> '></asp:TextBox> Compartilhar este post Link para o post Compartilhar em outros sites
Angelo Compri 0 Denunciar post Postado Janeiro 28, 2010 Ola Master, Vou tentar te ajudar. Vejamos se entendi; 1) Você tem uma DataGrid que exbibe os dados de uma tabela usando um DataTable qualquer. 2) Nesta tabela existem dois campos em questão: Um campo onde o usuário entra com uma data e outro campo texto que o usuário só pode preencher se a data informada for maior ou igual a data de hoje. 3) Você tem templates que controlam estes dois campos. Partindo desta premissa, ao invés de fazer o codigo direto no aspx, faça no codebihind usando o evento RowDataBound do DataGrid. protected void MeuDataGrid_RowDataBound(object sender, GridViewRowEventArgs e) { (e.Row.FindControl("SeuTextBox") as TextBox).Enabled = DateTime.Parse((e.Row.FindControl("SuaData") as TextBox).Text) >= DateTime.Today; } Assim o controle será individual. Espero te-lo ajudado, ;) Angelo Compri Compartilhar este post Link para o post Compartilhar em outros sites
caezar 0 Denunciar post Postado Janeiro 28, 2010 Ola Master, Vou tentar te ajudar. Vejamos se entendi; 1) Você tem uma DataGrid que exbibe os dados de uma tabela usando um DataTable qualquer. 2) Nesta tabela existem dois campos em questão: Um campo onde o usuário entra com uma data e outro campo texto que o usuário só pode preencher se a data informada for maior ou igual a data de hoje. 3) Você tem templates que controlam estes dois campos. Partindo desta premissa, ao invés de fazer o codigo direto no aspx, faça no codebihind usando o evento RowDataBound do DataGrid. protected void MeuDataGrid_RowDataBound(object sender, GridViewRowEventArgs e) { (e.Row.FindControl("SeuTextBox") as TextBox).Enabled = DateTime.Parse((e.Row.FindControl("SuaData") as TextBox).Text) >= DateTime.Today; } Assim o controle será individual. Espero te-lo ajudado, ;) Angelo Compri Na realidade eu tenho um GridView e nele fora os campos da tabela do DataSet eu criei dois campos template onde em cada inclui um textbox que retoma os valores dos campos GolsM e GolsV tambem do dataset pelo metodo Bind. Exemplo: Text='<%# Bind("GolsM") %>' Sera que o seu metodo vai dar certo no meu gridView?? abs Compartilhar este post Link para o post Compartilhar em outros sites
Angelo Compri 0 Denunciar post Postado Janeiro 28, 2010 Rss.. GridView e DataGrid é a mesma coisa.. apenas mudou de nome entre a versão 2.0 e 3.0 da framework... Respondendo à sua questão: "Sim... vai funcionar!" Abs, ;) Angelo Compri Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Janeiro 28, 2010 Cezar tanto o que o Angelo propos quanto o que propus é válido, a diferença é que o que eu porpus gasta menos recurso de sua aplicação, ja que a solução do angelo realiza um find control a cada row, pra depois validar, ja o que propus apenas valida! Compartilhar este post Link para o post Compartilhar em outros sites
caezar 0 Denunciar post Postado Janeiro 28, 2010 Cezar tanto o que o Angelo propos quanto o que propus é válido, a diferença é que o que eu porpus gasta menos recurso de sua aplicação, ja que a solução do angelo realiza um find control a cada row, pra depois validar, ja o que propus apenas valida! Percebi Ivan, Mas não consigo resolver o erro! Eu uso Asp.net com vb, sera que não é isso? Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Janeiro 29, 2010 Cezar com certeza essa sintax so funciona no C#! Deixa eu ver como faz no VB! Compartilhar este post Link para o post Compartilhar em outros sites
caezar 0 Denunciar post Postado Janeiro 29, 2010 Cezar com certeza essa sintax so funciona no C#! Deixa eu ver como faz no VB! Vou aguardar, desculpe por não ter avisado antes! Compartilhar este post Link para o post Compartilhar em outros sites
caezar 0 Denunciar post Postado Janeiro 30, 2010 Segue uma imagem da tabela para clarear a ideia! Compartilhar este post Link para o post Compartilhar em outros sites
caezar 0 Denunciar post Postado Fevereiro 1, 2010 Segue uma imagem da tabela para clarear a ideia! Não desistam de mim não!! rsssss abs Compartilhar este post Link para o post Compartilhar em outros sites