SPGridView, dados e método correto de garantir a segurança dos dados

Estou usando um SPGridView para apresentar alguns dados e habilitei a capacidade de filtragem que funciona muito bem. Até você escolher um item específico nos dados para filtrar ...

O item de dados em questão tem um apóstrofo na string (por exemplo, "esta é a string richards"), que faz com que o carregamento da página do aplicativo pós-filtro seja interrompido com o erro:

Syntax error: Missing operand after 's' operator. 

Obviamente, os dados não são automaticamente feitos seguros ...

Os dados estão em uma tabela de dados e o SPGridView é alimentado usando uma fonte de dados de objeto usando a tabela de dados.

Qual o melhor método, ou correto, para garantir a segurança dos dados?

EDITAR:

Depois de muito ranger, encontrei uma resposta parcial, mas a questão ainda permanece.

A resposta parcial é: você pode tornar os dados seguros para o código de filtro, mas você não pode fazer com que pareça correto na GUI suspensa do filtro.

Adicionando BoundField.HtmlEncode = true; para a definição SPGridView não faz nada.

Usando HttpUtility.HtmlEncode na seqüência de caracteres não faz nada.

Substituindo manualmente todos os apóstrofos nos dados com oe comercial # 39; na inserção no DataTable permite que o filtro funcione bem, e os dados são exibidos corretamente no SPGridView, mas são exibidos com a string de substituição de html no menu suspenso do filtro, e não o caractere de apóstrofo. Esta é a solução parcial, e não é realmente utilizável, pois cria uma string de filtro horrível que é visível para o usuário final.

Eu ainda estou para encontrar uma solução completa para este problema, exceto para remover caracteres ofensivos dos dados, o que não é realmente uma solução.

Atenciosamente Richard

questionAnswers(1)

yourAnswerToTheQuestion