0
콤보 상자가있는 데이터 격자 열 템플릿은 아래와 같습니다. WPF DataGrid에서 셀 레벨 ComboBox를 애스펙트하는 방법?
<my:DataGridTemplateColumn x:Name="dgColReferece" Header="References" >
<my:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox x:Name="cmbReferece_SRV" Loaded="cmbReferece_SRV_Loaded" Width="160" SelectionChanged="cmbReferece_SRV_SelectionChanged"
IsTextSearchEnabled="True" SelectedValue="{Binding Reference, Mode=TwoWay}" >
</ComboBox>
</DataTemplate>
</my:DataGridTemplateColumn.CellTemplate>
</my:DataGridTemplateColumn>
모든 콤보 상자
값을 가지고 그들에게 하나 개의 항목 -2로 새로 추가를합니다. 사용자가 클릭 할 때 데이터베이스에 추가 된 새 항목을 추가하고 그리드의 모든 콤보 상자에 리바운드되어야합니다.다음은 SelectionChanged
private void cmbReferece_SRV_SelectionChanged(object sender, SelectionChangedEventArgs e)
{ ComboBox objComboBox = (ComboBox)sender;
if (objComboBox.SelectedValue.ToString() == "<-- Add New -->")
{
//code for saving new item entered by user to database
if (IsSaved)
{
DataSet dsReference = (DataSet)GetFStdReference();
CommonCalls.BindDropDownList(cmbReferece_SRV, dsReference.Tables[0], "Reference", "Reference");
}
objComboBox.SelectedValue = -1;
}
}
이는 선택된 행의 콤보 상자에 새 항목을 바인딩을위한 뒤에 내 코드입니다. 하지만 모든 콤보 박스에 바인딩해야합니까? 어떻게하면 돼? 나는 wpf와 바인딩 stuffs에 새로운> 어떻게 진행할 수 있습니까?
콤보 상자 항목 소스는 데이터 가능입니다. 일단 내가 "Add new"항목을 선택하면 새로운 항목이 db에 추가되기 때문에 리 바인딩됩니다. 그 코드 부분은 여기에 표시되지 않습니다 부. 내가 그것을 언급했다.. 새 항목을 추가 한 후 나는 다시 나는 콤보 상자에 추가 된 새 항목을 반영하기 위해 daasource를 rebinding이다. –