Wpf Combobox DataBinding - PullRequest
       7

Wpf Combobox DataBinding

0 голосов
/ 21 декабря 2009

Привет всем, это снова я! У меня тоже мало проблем. Я разрабатываю учебное программное обеспечение, поэтому я задаю много вопросов. Надеюсь, вы мне поможете. заранее спасибо. мои проблемы заключаются в следующем:

Прежде всего: У меня есть окно регистрации, в котором есть поле со списком. я связал это источник данных доступа. проблема в том, что когда я выбираю предмет, он не выбирает. он пишет System.data.Datarow. (Я хочу, чтобы список имен, таких как Майк, Сьюзен и т. д.)

как я могу это исправить? в чем проблема?

public Register()
{                   
    this.InitializeComponent();
    Select();

}

public void Select()
{

    DataView view;
    OleDbConnection con = new OleDbConnection(connectionstring);
    con.Open();
    string sql = "Select * from UserInformation";
    OleDbCommand cmd = new OleDbCommand(sql, con);
    OleDbDataAdapter da = new OleDbDataAdapter(cmd);
    DataSet ds = new DataSet();
    da.Fill(ds, "UserInformation");
    view = ds.Tables[0].DefaultView;
    RegCombo.ItemsSource = view;

    con.Close();
}

XAML код:

<ComboBox IsSynchronizedWithCurrentItem="True" 
    Margin="0,22.447,46.92,0" SelectedItem="{Binding Path=UserName}"
    VerticalAlignment="Top" Height="29" Grid.Column="3" Grid.Row="1" 
    IsEditable="True" IsDropDownOpen="False" MaxDropDownHeight="266.666666666667" 
    FontSize="16" x:Name="RegCombo" FontWeight="Normal"  >

    <ComboBox.ItemTemplate>
        <DataTemplate>

            <TextBlock Text="{Binding Path=UserName}"></TextBlock>

        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>

Ответы [ 2 ]

1 голос
/ 21 декабря 2009

Вам нужно установить DisplayMemberPath на вашем ComboBox как свойство базового объекта, который вы хотите видеть в ItemsControl

Если это не указано, и вы не изменили метод ToString() для этого объекта, вы просто увидите (то, что вы сейчас видите) - полное имя объекта.

0 голосов
/ 21 декабря 2009

Попробуйте это Binding = "{Binding RelativeSource = {RelativeSource Self}, путь = Имя пользователя}"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...