Adicionando string vazia para RadComboBox
-
12-09-2019 - |
Pergunta
Eu tenho uma página que tem um Telerik RadComboBox na página. Uma das propriedades desta caixa de combinação é EmptyMessage, que enche a caixa de combinação com uma mensagem quando um item não é seleccionado. Estou vinculativo minha caixa de combinação para uma fonte de dados em tempo de execução e, por algum motivo, ele limpa esse EmptyMessage distância. Existe uma maneira de manter meus itens de dados no tato e ter a mensagem vazia lá também? E de TI padrão à mensagem vazia?
Solução
Parece que a resposta aceita em Telerik diz que você usar o script do lado do cliente para evitar a edição de texto.
<telerik:Radcombobox ID="RadComboBox1" runat="server" AllowCustomText="True" EmptyMessage="-please select one-">
<Items>
<telerik:RadComboBoxItem runat="server" Text="Item1"></telerik:RadComboBoxItem>
<telerik:RadComboBoxItem runat="server" Text="Item2"></telerik:RadComboBoxItem>
</Items>
<script type="text/javascript">
function pageLoad()
{
var combo = $find("<%= RadComboBox1.ClientID %>");
var input = combo.get_inputDomElement();
input.onkeydown = onKeyDownHandler;
}
function onKeyDownHandler(e)
{
if (!e)
e = window.event;
e.returnValue = false;
if (e.preventDefault)
{
e.preventDefault();
}
}
</script>
Outras dicas
RadComboBox1.Items.Insert(0, New RadComboBoxItem("Select a continent"))
Isto irá adicionar "Escolha um continente" como o primeiro item na caixa de combinação.
apenas colocar este
ComboBox.Text = String.Empty
Em tempo de design conjunto de propriedades EmptyMessage.
<telerik:RadComboBox ID="ddlCategory" EmptyMessage="-Select-" runat="server" Width="120px" DropDownWidth="100px" AllowCustomText="true">
</telerik:RadComboBox>
Em tempo de execução seguinte código funciona para mim.
ddlCategory.Text = "";
ddlCategory.ClearSelection();
set 'AppendDataBoundItems' é a verdade?
Outra opção é adicionar o item para o combobox direita após a ligação, e em seguida, definindo-o como selecionado.
Eu encontrei a resposta. Para qualquer um curioso ou alguém que nunca precisa de fazer uma coisas semelhantes, você precisa definir a propriedade AllowCustomText para True. Este fixa o meu problema.