Populating a Combobox inside a Gridview

Posted by Nawait on Stack Overflow See other posts from Stack Overflow or by Nawait
Published on 2012-06-19T09:12:45Z Indexed on 2012/06/19 9:16 UTC
Read the original article Hit count: 165

Filed under:
|
|
|
|

i'm having a few problems working with a gridview and a combobox inside of it.

Here is the code for my ListView control:

<ListView Height="139" HorizontalAlignment="Left" Margin="10,158,0,0" Name="lvAppointment" VerticalAlignment="Top" Width="250" MinWidth="350">
<ListView.View>
    <GridView>
        <GridViewColumn Header="Appointment" Width="120">
            <GridViewColumn.CellTemplate>
                <DataTemplate>
                    <DatePicker SelectedDate="{Binding Path=Appointment}"/>
                </DataTemplate>
            </GridViewColumn.CellTemplate>
        </GridViewColumn>
        <GridViewColumn Header="Type" Width="170">
            <GridViewColumn.CellTemplate>
                <DataTemplate>
                    <ComboBox ???/>
                </DataTemplate>
            </GridViewColumn.CellTemplate>
        </GridViewColumn>
        <GridViewColumn Header="Done" Width="50">
            <GridViewColumn.CellTemplate>
                <DataTemplate>
                    <CheckBox IsChecked="{Binding Path=Done}" IsThreeState="False"/>
                </DataTemplate>
            </GridViewColumn.CellTemplate>
        </GridViewColumn>
    </GridView>
</ListView.View>

I'm popluating the list from a sql ce database via c# with the following code

using (SqlCeCommand sqlCeAppointment = new SqlCeCommand("SELECT appid,appointment,done,apptype.type FROM appointment INNER JOIN apptype ON appointment.refatid = apptype.atid WHERE refeventid = @eventid;", sqlCeConn))
    {
        sqlCeAppointment.Parameters.AddWithValue("@eventid", ((cListEventItem)lvEvent.SelectedItems[0]).id);
        using (SqlCeDataReader sqlCeAppointmentReader = sqlCeAppointment.ExecuteReader())
        {
            lvAppointment.Items.Clear();

            while (sqlCeAppointmentReader.Read())
            {
                lvAppointment.Items.Add(new cListAppointmentItem { id = sqlCeAppointmentReader.GetGuid(sqlCeTerminReader.GetOrdinal("appid")), Appointment = sqlCeAppointmentReader.GetDateTime(sqlCeTerminReader.GetOrdinal("appointment")), Type = sqlCeAppointmentReader.GetString(sqlCeTerminReader.GetOrdinal("type")), Done = sqlCeAppointmentReader.GetByte(sqlCeTerminReader.GetOrdinal("done")) });
            }
        }
    }

I can popluate the list just fine. But i want "Type" to be a combobox so the user can select the apropriate type of the appointment (its a list of appointments connected to an event). This combobox should be filled with data thats inside a table of the sql ce database (apptype). This table is not static, the users can add and delete items from this list.

I have tried a few ways i found via google, but failed. I guess i'm having problems understanding how this works/should work.

I hope someone can help me :(

Thanks in advance

© Stack Overflow or respective owner

Related posts about c#

Related posts about wpf