MohammadHadi2031
جمعه 07 شهریور 1393, 14:16 عصر
سلام
من یک لیست از این کلاس دارم
public class User
{
public int ID;
public string name;
public string Pass;
public bool IsAdmin;
public override string ToString()
{
return ID + " - " + name;
}
}
و می خواهم در لیست ویو که کدش این است نمایش بدهم اما چیزی نشون داده نمی شود
<ListView x:Name="lsv_main" Margin="5,0,5,5" FlowDirection="RightToLeft" FontSize="14" >
<ListView.ItemContainerStyle>
<Style>
<Setter Property="Control.HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="Control.VerticalContentAlignment" Value="Stretch"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView>
<GridViewColumn Header="شماره" Width="auto">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=ID}" MinWidth="100"></TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="نام" Width="auto">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=name}"></TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="سرپرست" Width="auto">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=IsAdmin}" IsEnabled="False"></CheckBox>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
با این کد:
string statement=txt_search.Text.Trim().Replace('ی','ي' );
List<Win_User.User> v = (from k in UserDB.userDataSet.tbl_main
where k.ID.ToString().Contains(statement) || k.IsUsernameNull() || k.Username.Trim().Replace('ی', 'ي').Contains(statement)
select new Win_User.User()
{
ID = k.ID,
name = k.IsUsernameNull() ? string.Empty : k.Username,
Pass = k.IsPasswordNull() ? string.Empty : k.Password,
IsAdmin = k.IsIsAdminNull() ? false : k.IsAdmin
}).ToList();
lsv_main.ItemsSource = v;
lsv_main.Items.Refresh();
من یک لیست از این کلاس دارم
public class User
{
public int ID;
public string name;
public string Pass;
public bool IsAdmin;
public override string ToString()
{
return ID + " - " + name;
}
}
و می خواهم در لیست ویو که کدش این است نمایش بدهم اما چیزی نشون داده نمی شود
<ListView x:Name="lsv_main" Margin="5,0,5,5" FlowDirection="RightToLeft" FontSize="14" >
<ListView.ItemContainerStyle>
<Style>
<Setter Property="Control.HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="Control.VerticalContentAlignment" Value="Stretch"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView>
<GridViewColumn Header="شماره" Width="auto">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=ID}" MinWidth="100"></TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="نام" Width="auto">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=name}"></TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="سرپرست" Width="auto">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=IsAdmin}" IsEnabled="False"></CheckBox>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
با این کد:
string statement=txt_search.Text.Trim().Replace('ی','ي' );
List<Win_User.User> v = (from k in UserDB.userDataSet.tbl_main
where k.ID.ToString().Contains(statement) || k.IsUsernameNull() || k.Username.Trim().Replace('ی', 'ي').Contains(statement)
select new Win_User.User()
{
ID = k.ID,
name = k.IsUsernameNull() ? string.Empty : k.Username,
Pass = k.IsPasswordNull() ? string.Empty : k.Password,
IsAdmin = k.IsIsAdminNull() ? false : k.IsAdmin
}).ToList();
lsv_main.ItemsSource = v;
lsv_main.Items.Refresh();