Любой способ, как добавить новые флажки в ListView в зависимости от базы данных базы данных? - PullRequest
1 голос
/ 12 марта 2019

Мне нужно примерно что-то вроде этого:

SqlCommand selectTags = new SqlCommand("select tag from Categories", cs);
SqlDataAdapter da = new SqlDataAdapter(selectTags);
DataTable dt = new DataTable();
cs.Open();
da.Fill(dt);
cs.Close();

CheckBox chkbb = new CheckBox();
list1.content


foreach (DataRow dr in dt.Rows)
{
    MessageBox.Show(dr["tag"].ToString());

    Checkbox chk = new Checkbox into list1(list view) (This line supposed to be example.not working code. )
    chk.Content = dr["tag"].ToString();

}

Можно ли создавать динамические флажки, зависящие от строк в базе данных sql?

Его можно добавить при загрузке страницы и т. Д. Я понятия не имею, как сделать что-то подобное.Большое спасибо за любую помощь.

добавлено xaml флажков

<ListView Name="list1" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="307,52,0,0" Height="132" Width="293">

<CheckBox Content="inf" Visibility="Visible" HorizontalAlignment="Left" VerticalAlignment="Top" x:Name="chkBoxInfo" Width="43"/>
<CheckBox Content="spo" Visibility="Visible" HorizontalAlignment="Left" VerticalAlignment="Top" x:Name="chkBoxSp"/>
<CheckBox Content="war" HorizontalAlignment="Left" VerticalAlignment="Top" x:Name="chkBoxWar"/>
<CheckBox Content="cul" HorizontalAlignment="Left" VerticalAlignment="Top" x:Name="chkBoxCul" Height="14" Width="39"/>

</ListView>

1 Ответ

2 голосов
/ 12 марта 2019

Установить или связать ItemsSource из ListView с dt.DefaultView:

DataTable dt = new DataTable();
using (SqlCommand selectTags = new SqlCommand("select tag from Categories", cs))
{
    cs.Open();
    using (SqlDataAdapter da = new SqlDataAdapter(selectTags))
    {
        DataTable dt = new DataTable();
        da.Fill(dt);
    }
    cs.Close();
}
list1.ItemsSource = dt.DefaultView;

.. и используйте ItemTemplate или CellTemplate для отображения CheckBox:

<ListView>
    <ListView.ItemTemplate>
        <DataTemplate>
            <CheckBox Content="{Binding tag}" />
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...