C# 如何设置DataGridComboxColumn WPF的自动建议?
我是wpf的新手。我可以在组合框中键入文本,但不能显示文本。如何获取DataGridComboBoxColumn WPF的值 截图: 在“单位”列中的选项卡之后,然后是DataGridComboxColumn选定项为空 Xmal代码如下:C# 如何设置DataGridComboxColumn WPF的自动建议?,c#,.net,wpf,wpfdatagrid,C#,.net,Wpf,Wpfdatagrid,我是wpf的新手。我可以在组合框中键入文本,但不能显示文本。如何获取DataGridComboBoxColumn WPF的值 截图: 在“单位”列中的选项卡之后,然后是DataGridComboxColumn选定项为空 Xmal代码如下: <DataGrid x:Name="item_list" AutoGenerateColumns="True" Height="410" CanUserResizeColumns="False" > <DataGrid.Column
<DataGrid x:Name="item_list" AutoGenerateColumns="True" Height="410" CanUserResizeColumns="False" >
<DataGrid.Columns>
<DataGridComboBoxColumn x:Name="list_itemname" Width="*" Header="Item Name" SelectedItemBinding="{Binding itemlist}">
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox">
<Setter Property="IsEditable" Value="True"/>
<Setter Property="ItemsSource" Value="{Binding Path=itemlist }" />
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<Setter Property="IsEditable" Value="True"/>
<Setter Property="ItemsSource" Value="{Binding Path=itemlist }" />
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
<DataGridTextColumn x:Name="item_unit" Binding="{Binding itemunit}" Width="*" Header="Unit"/>
</DataGrid.Columns>
</DataGrid>
public partial class page_addsale : Page
{
List<string> itemlist = new List<string>();
ObservableCollection<Proxy> collection = new ObservableCollection<Proxy>();
DataTable item_dt = new DataTable();
public page_addsale()
{
InitializeComponent();
con.Open();
OleDbDataAdapter ad = new OleDbDataAdapter("select id, item_name from item_list", con);
ad.Fill(item_dt);
con.Close();
}
public class Proxy
{
public string itemname { get; set; }
public string itemunit { get; set; }
}
private void add_sale_Loaded(object sender, RoutedEventArgs e)
{
tem_list.CanUserAddRows = true;
item_list.AutoGenerateColumns = false;
string[] arr_item = item_dt.AsEnumerable().Select<System.Data.DataRow, String>(x => x.Field<String>("item_name")).ToArray();
itemlist.AddRange(arr_item);
list_itemname.ItemsSource = itemlist;
item_list.ItemsSource = collection;
}
}
c代码如下:
<DataGrid x:Name="item_list" AutoGenerateColumns="True" Height="410" CanUserResizeColumns="False" >
<DataGrid.Columns>
<DataGridComboBoxColumn x:Name="list_itemname" Width="*" Header="Item Name" SelectedItemBinding="{Binding itemlist}">
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox">
<Setter Property="IsEditable" Value="True"/>
<Setter Property="ItemsSource" Value="{Binding Path=itemlist }" />
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<Setter Property="IsEditable" Value="True"/>
<Setter Property="ItemsSource" Value="{Binding Path=itemlist }" />
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
<DataGridTextColumn x:Name="item_unit" Binding="{Binding itemunit}" Width="*" Header="Unit"/>
</DataGrid.Columns>
</DataGrid>
public partial class page_addsale : Page
{
List<string> itemlist = new List<string>();
ObservableCollection<Proxy> collection = new ObservableCollection<Proxy>();
DataTable item_dt = new DataTable();
public page_addsale()
{
InitializeComponent();
con.Open();
OleDbDataAdapter ad = new OleDbDataAdapter("select id, item_name from item_list", con);
ad.Fill(item_dt);
con.Close();
}
public class Proxy
{
public string itemname { get; set; }
public string itemunit { get; set; }
}
private void add_sale_Loaded(object sender, RoutedEventArgs e)
{
tem_list.CanUserAddRows = true;
item_list.AutoGenerateColumns = false;
string[] arr_item = item_dt.AsEnumerable().Select<System.Data.DataRow, String>(x => x.Field<String>("item_name")).ToArray();
itemlist.AddRange(arr_item);
list_itemname.ItemsSource = itemlist;
item_list.ItemsSource = collection;
}
}
如何解决此DataGridComboxColumn WPF可能重复[您是否也可以共享Datagrid XAML?好的编辑XAML代码可能重复[您是否也可以共享Datagrid XAML?好的编辑XAML代码