Entity/Class:
public class FeesDetails : INotifyPropertyChanged
{
public int Id { get; set; }
public string FeesName { get; set;}
public string FeesDetailsName { get; set; }
public int? PaidAmount { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(System.String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
public int feesAmount { get; set; }
public int FeesAmount
{
get
{
return this.feesAmount;
}
set
{
if (value != this.feesAmount)
{
this.feesAmount = value;
NotifyPropertyChanged("FeesAmount");
}
}
}
}
XAML:
<DataGrid
AutoGenerateColumns="False"
Height="211" HorizontalAlignment="Left"
Margin="174,177,0,0" Name="setupFeesDataGrid"
VerticalAlignment="Top" Width="414"
CanUserAddRows="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Fees Details Name" Binding="{Binding Path=FeesName}" Width="250"/>
<DataGridTemplateColumn Header="Fees Amount" Width="80">
<DataGridTemplateColumn.CellTemplate >
<DataTemplate >
<TextBox Name="feesAmountTextBox" TextChanged="feesAmountTextBox_TextChanged" Text="{Binding Path=FeesAmount,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" ></TextBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
CS code :
private void feesAmountTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
FeesDetails chalan = new FeesDetails();
chalan = setupFeesDataGrid.SelectedItem as FeesDetails;// get selected item
// Other i am summarizing grid cell value in a combobox
decimal TGBP = 0 ;
for (int i = 0; i < setupFeesDataGrid.Items.Count; i++)
{
FeesDetails obj = setupFeesDataGrid.Items[i] as FeesDetails;
TGBP += Convert.ToDecimal(obj.FeesAmount); // getting cell value
}
totalTextBox.Text = TGBP.ToString("F");
}
Comments
Post a Comment