簡體   English   中英

從組合框C#WPF中的選定項目填充數據網格

[英]Populating datagrid from selected items in a combobox C# WPF

我試圖將數據從ComboBox插入DataGrid

現在,使用下面的代碼片段,我已經可以在我的datagrid中插入一行,但是由於某種原因該行顯示為完全空。

private void cmbAddExtras_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    using (DataEntities DE = new DataEntities())
    {
        tblExtra E = (tblExtra)cmbAddExtras.SelectedItem;
        List<string> items = new List<string> { E.ItemCode };

        items.Where(item => item.ToString() != null).ToList().ForEach(i =>
        {
            dgAddExtras.Items.Add(i);
        });
    }
}

我也嘗試通過XAML綁定我的列,但是有同樣的問題,它仍然在我的datagrid中顯示一個空行。

    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding ItemID}" Header="id" MinWidth="20" MaxWidth="100"/>
        <DataGridTextColumn Binding="{Binding ItemCode}" Header="Code" MinWidth="80" MaxWidth="100"/>
        <DataGridTextColumn Binding="{Binding ItemDescription}" Header="Description" MinWidth="80" MaxWidth="100"/>
        <DataGridTextColumn Binding="{Binding ItemPrice}" Header="Price" MinWidth="80" MaxWidth="100"/>
        <DataGridTextColumn Binding="{Binding ItemSellingPrice}" Header="QTY" MinWidth="80" MaxWidth="100"/>
    </DataGrid.Columns>

我提供給該類的列名與表中的列名完全相同,以防萬一有人想知道。

我不知道為什么要這么做。 可能是我很想念的一件很簡單的事情,如果是這樣,對不起:P並感謝您的提前幫助!

您的代碼是錯誤的:

在下面一行要添加只是一個stringListitems

List<string> items = new List<string> { E.ItemCode.ToString() };

那么,如何期望一個字符串具有在DataGrid列中引用的所有此類屬性?

像這樣寫:

private void cmbAddExtras_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    using (DataEntities DE = new DataEntities())
    {
        tblExtra E = (tblExtra)cmbAddExtras.SelectedItem;
        List<tblExtra> items = new List<tblExtra> { E };

        items.Where(item => item != null).ToList().ForEach(i =>
        {
            dgAddExtras.Items.Add(i);
        });
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM