Inquiridor
Impedir a deleção de uma linha

Pergunta
-
Eu utilizo objectdatasource, e tenho um label chamado lblstatus, utilizo javascript para fazer a confirmação do delete.
Bom é o seguinte:
eu gosrtaria que quando o texto do lblstatus fosse diferente de "Em Elaboração" o usuário ao clicar no botão excluir do grid não pudesse executar a ação!
tem como?
meu excluir no grid esta assim:
<asp:TemplateField>
<ItemStyle CssClass="colunaIconOp" />
<HeaderStyle CssClass="colunaIconOp" />
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete"
Text="<img src='../img/icon_excluir.gif' style='cursor:hand' border=0>" OnClientClick="BLOCKED SCRIPTreturn ConfirmaExclusao();"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
[]'s
Todas as Respostas
-
Existe um solução, você poderia usar o envento RowDataBound do grid e verificar se a coluna esta no estatus que você quer e adicona la o text ou o botão.
Algo mais ou meno assim.
Code SnippetExemplo
:
If e.Row.RowType = DataControlRowType.DataRow Then
Dim Ativo As Boolean = DirectCast(e.Row.DataItem, DataRowView).Item("BLL_STATUS")
If Ativo = False Then
e.Row.Cells(3).Text = "Inativo"
Else
e.Row.Cells(3).Text = "Ativo"
End If
End If -
Bom a questão é que este status é fixo, e não esta no grid, esta em outro lugar na tela.
isso quer dizer que vale p/ o grid todo, quando a tela tem status= em elaboração, qualquer linha do grid podera ser modificada e quando o status for encerrada, nenhuma linha podera ser modifica, so vizualizada. para a questao de selected index eu consegui, mas para apagar nao funcionaou...
[] s -
Então você pode fazer o seguinte.
Você quando entrar na pagina ou quando carregar o grid você verifica qual o valor desse status e se o valor for para na exibir ou não poder deletar você pode ocultar a coluna que e responsavel para apagar os registros se não ela exibi..
E ate mas simples
-
-
Pode ser feito desta maneira.
Carrega o Seu grid e Depois faz o seguinte
Code Snippetif seuLabel.text="Em Elaboração" then
grid.Colums[0].visible = false
elsegrid.Colums[0].visible = true
end if
'lembrando que você tem que ver indice (qual o numero da coluna) para poder ocultar a certa