我在这里有个问题。
我想用以下值在 c# 中绑定一个下拉列表
value text
----- ----
1 abc
2 pqr
3 xyz
4 ppp
但是我只想显示与 1,2 和 3 相关的项目。
是否可以绑定所有值但不显示所有项目
我在这里有个问题。
我想用以下值在 c# 中绑定一个下拉列表
value text
----- ----
1 abc
2 pqr
3 xyz
4 ppp
但是我只想显示与 1,2 和 3 相关的项目。
是否可以绑定所有值但不显示所有项目
您可以尝试设置Enabled = false
最后一个 ListItem 对象。我的建议可能是甚至不要将该 ListItem 包含在您要绑定的项目列表中。
尝试这个
list.DataSource = myDataSource;
list.DataBind();
list.Items.Remove(list.Items.FindByText("ppp"));
或者
list.Items.Remove(list.Items.FindByValue("4"));
您可以从 DropDownList 中删除
ListItem itemToRemove = myDropDown.Items.FindByValue("4");
if (itemToRemove != null)
{
myDropDown.Items.Remove(itemToRemove);
}
是的你可以。
在您的DataTemplate
中,只需将对象的可见性绑定到...您的标准(它似乎是索引?)并在转换器中包含显示/隐藏逻辑。
编辑这样的东西:
<DataTemplate>
<ContentPresenter Visibility="{Binding Index, Converter={StaticRessource IndexTovisibilityConverter}}>
// Here your datatemplate
</ContentPresenter>
<Datatemplate>
在你的转换器里面:
public class IndexTovisibilityConverter: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
int index= (int)value;
if (index > 3)
return Visibility.Collapsed;
else
return Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return null;
}
}
你可以在后面的代码中做到这一点。
ListItem l = new ListItem(); l.Text = "New"; l.Value = "new"; l.Attributes.CssStyle.Add("visibility", "hidden");