Как я могу отредактировать ячейку в моем GridView, если выполняется какое-то требование - PullRequest
0 голосов
/ 23 февраля 2012

У меня есть GridView с некоторыми столбцами. Если в моей базе данных существует значение, ячейка в моем виде сетки должна обновлять свое собственное значение.

Например:

      1     2    
1 - Lucas   Delete 
2 - Drake   Delete
3 - Jimmy   Update/Delete

Если Джимми существует в моей базе данных, я должен поместить «Обновить / Удалить» во второй столбец, но если щелкнуть эту метку «Обновить», я вызываю JavaScript. Как я могу это сделать ? Это можно сделать через Sql?

Мой код:

protected void carregaGrid()
        {
            Utilidade.QuebraToken tk = new Utilidade.QuebraToken();
            string Credenciada = tk.CarregaToken(1, Request.Cookies["token"].Value);
            string Proposta = string.Empty;
            string select = string.Empty;         

                select = "SELECT San_Proposta.Proposta_Id, San_Proposta.DataHora, San_Proposta.ValorProposta, San_Proposta.Comentario, "
                    + "San_Usuario.NomeCompleto, San_Credenciada.Apelido, San_StatusProposta.Descricao, "
                    + "(SELECT COUNT(*) "
                    + "FROM San_PropostaConversa "
                    + "WHERE San_PropostaConversa.Proposta_Id = San_Proposta.Proposta_Id "
                    + "AND San_PropostaConversa.Credenciada_Id = San_Proposta.Credenciada_Id) as Numero "
                    + "FROM San_Proposta "
                    + "JOIN San_Credenciada "
                    + "ON San_Proposta.Credenciada_Id = San_Credenciada.Credenciada_Id "
                    + "JOIN San_StatusProposta "
                    + "ON San_Proposta.StatusProposta_Id = San_StatusProposta.StatusProposta_Id "
                    + "JOIN San_Usuario "
                    + "ON San_Proposta.Usuario_Id = San_Usuario.Usuario_Id ";

                if (Request.QueryString["Imovel_Id"].ToString() != string.Empty)
                {
                    string imovel = Request.QueryString["Imovel_Id"].ToString();
                    select += "WHERE San_Proposta.Imovel_Id = " + imovel + " "
                         + "AND San_Proposta.Credenciada_Id = " + Credenciada + " "
                         + "AND San_Proposta.StatusProposta_Id IN (1,2) ";
                }                
            }

            select += "ORDER BY San_Proposta.DataHora DESC, Apelido ";

            neticonn.Conexao c = new neticonn.Conexao();
            dsGrid.ConnectionString = c.Con;
            dsGrid.SelectCommand = select;            
        }

1 Ответ

0 голосов
/ 23 февраля 2012

Вы должны использовать ajax-запрос, чтобы проверить, существует ли ваш элемент в вашей базе данных. Ваш скрипт вернет вам json с true, если ваш запрос его найдет, иначе false.

Другой способ - создать массив javascript при загрузке вашей страницы и проверить, присутствует ли ваше значение.

Я не знаю, c #, но в php это будет выглядеть примерно так:

<script>
var values = [
<?php 
foreach ($valueFromDatabase as $key => $value) {
     echo '"'.$value.'"';
     //Hack to remove the last comma
     if ($value == $valueFromDatabase[$valueFromDatabase.length - 1]) {
        echo ",";
     }
}
?>
];
</script>

Это сделает массив JavaScript похожим на:

var values = ["Lucas","Drake","Jimmy"];

Вам просто нужно зациклить этот массив, чтобы проверить, существует ли элемент, или использовать для этого функцию javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...