| 

.NET C# Java Javascript Exception

3
Ich habe verschiedene BindingSources auf meinem WindowsForm-Formular (VB.NET 2008) und würde gerne einfachhalber mit einer Furnktion eine Spalte summieren, in dem ich die gefilterte BS zu hilfe nehme. Es sollen nur die gefilterten Werte verwendet werden.

Geht das überhaupt?
03.05.2011
MyKey0815 883 8
2 Antworten
3
Ich bin davon ausgegangen, dass du ein typisiertes DataSet hast, mit einer Spalte Preis

Dim decPreis as Decimal=0
Dim row As DeinDataSet.TabXYRow

For Each drv As DataRowView In DeinBindingSource.List
row = drv.Row
If Not row.IsPreisNull Then
decPreis += row.Preis
End If
Next

Gruss Peter
08.05.2011
phaus 76 1
0
Wenn du die Spalte an einen Converter bindest könntest du die Werte mehrerer Spalten in einer neuen Spalte errechnen:

Beispiel:
<Grid>
<Grid.Resources>
<custom:ValueConverter x:Key="valueConverter"/>
</Grid.Resources>
<DataGrid>
<DataGrid.Columns>
<DataGridTemplateColumn Header="Summe">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Summe,Converter={StaticResource valueConverter}}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>


(sorry c# ;)
public class ValueConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
int myValue = System.Convert.ToInt32(value); //or decimal
//errechnen des neues Wertes
return myValue ;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}



Wenn du eine Gesamtsumme, beispielsweise unterhalb des Datagrids errechnen möchtest, so musst du die Zellenwerte, der entsprechenden Spalte summieren.
Dazu schau dir einfach mal das folgende Beispiel an.

EDIT: Sorry hatte WinForms überlesen!
04.05.2011
Mario Priebe 5,8k 2 9
1
Hi Mario, die Frage bezog sich doch auf Windows Forms, oder?
Maria Simlinger 05.05.2011
upps :D
Mario Priebe 05.05.2011

Stelle deine .net-Frage jetzt!