作成日: 2024/12/25 最終更新日: 2024/12/25
文書種別
使用方法
詳細
コンボボックスのドロップダウンの高さを設定するには、PrepareCellForEditイベント内で、エディタのChildプロパティからC1FlexComboBoxを取得し、そのMaxDropDownHeightプロパティを任意の値に設定します。
以下に、簡単な設定コードを記載します。

◎サンプルコード(C#/.NET Framework)
以下に、簡単な設定コードを記載します。
◎サンプルコード(C#/.NET Framework)
using C1.WPF.FlexGrid;
using System.Diagnostics;
namespace prj_wpf_FlexGrid
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
List<string> comboList = new List<string>() { "data1", "data2", "data3", "data4", "data5", "data6", "data7", "data8", "data9"};
// コンボボックスの設定
c1FlexGrid1.Columns[0].ValueConverter
= new ColumnValueConverter(comboList, true);
c1FlexGrid1.PrepareCellForEdit += c1FlexGrid_PrepareCellForEdit;
}
private void c1FlexGrid_PrepareCellForEdit(object sender, CellEditEventArgs e)
{
if (c1FlexGrid1.Columns[0].Index == e.Column)
{
if (e.Editor is Border)
{
var bdr = e.Editor as Border;
if (bdr.Child is C1FlexComboBox)
{
var cmb = bdr.Child as C1FlexComboBox;
cmb.MaxDropDownHeight = 500; //コンボボックスの高さを設定
// 項目選択時の処理
cmb.Loaded += (s1, e1) =>
{
cmb.ListBox.SelectionChanged += ListBox_SelectionChanged;
};
}
}
}
}
private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
// コンボボックスの選択値を取得
if (e.RemovedItems.Count > 0)
Debug.WriteLine("Changed from: " + e.RemovedItems[0]);
if (e.AddedItems.Count > 0)
Debug.WriteLine("Changed to: " + e.AddedItems[0]);
}
}
}
◎サンプルコード(XAML)
<c1:C1FlexGrid x:Name="c1FlexGrid1"
AutoGenerateColumns="False"
ItemsSource="{Binding DataList}" >
<c1:C1FlexGrid.Columns>
<c1:Column x:Name="ColName"
Binding="{Binding SampleNo}" />
</c1:C1FlexGrid.Columns>
</c1:C1FlexGrid>