테이블이 있습니다 (SQL Server에서 WareTable).콤보 상자에서 값을 선택하면 텍스트 상자가 자동으로 채워집니다.
내 양식에 datagridview (= dgv)를 사용해야합니다.
내 dgv에서 첫 번째 열은 ComboBox (WareName)입니다.
ComboBox에서 값을 선택하려면 다음 열 (sellPrice)이 자동으로 채워지 길 원합니다.
나는 어떻게 할 수 있습니까?
테이블이 있습니다 (SQL Server에서 WareTable).콤보 상자에서 값을 선택하면 텍스트 상자가 자동으로 채워집니다.
내 양식에 datagridview (= dgv)를 사용해야합니다.
내 dgv에서 첫 번째 열은 ComboBox (WareName)입니다.
ComboBox에서 값을 선택하려면 다음 열 (sellPrice)이 자동으로 채워지 길 원합니다.
나는 어떻게 할 수 있습니까?
멀티 바인드가 도움이 될까요? 데이터 격자보기의 각 행에 대한 뷰 모델이있는 경우 열 1에서 값을 선택하면 뷰 모델에 대한 속성을 설정해야합니다. 당신은 설정 multibinding와 당신이 필요로하는 컬럼 1과 다른 어떤 데이터에서 속성에 바인딩과 2
<DataGridTextColumn
Header="Ticket Qty"
Width="Auto"
IsReadOnly="True" >
<DataGridTextColumn.Binding>
<MultiBinding Converter="{StaticResource unitConverter}">
<Binding Path="Column1ViewModelProperty"/>
<Binding Path="Column2ViewModelProperty" />
<Binding Path="AdditionalViewModelProperty"/>
</MultiBinding>
</DataGridTextColumn.Binding>
</DataGridTextColumn>
http://msdn.microsoft.com/en-us/library/system.windows.data.multibinding.converter.aspx
또는 열에서 올바른 값을 표시하는 값 변환기를 할 수, 당신은 할 수 있습니다 Column1ViewModelProperty를 변경하면 Column2ViewModelProperty가 실제 뷰 모델 클래스에서 업데이트됩니다 (Column1ViewModelProperty의 설정자에서 이벤트 발생 또는 Column2ViewModelProperty를 업데이트하는 메소드 호출).
<DataGridTextColumn Binding="{Binding Column1ViewModelProperty }"/>
//Code behind
public string Column1ViewModelProperty {
get{
return _column1ViewModelProperty;
}
set{
_column1ViewModelProperty = value;
Column2ViewMOdelProperty = calculatedValue;
OnPropertyChanged("Column1ViewModelProperty");
}
}
public string Column2ViewModelProperty {
get{
return _column2ViewModelProperty;
}
set{
_column2ViewModelProperty = value;
OnPropertyChanged("Column2ViewModelProperty");
}
}
@matzone : 안녕하세요, 내 질문을 변경할 수 없습니다 ... – Majid