私のデータベースのテーブルの1つにpriceという名前のフィールドがあり、そのタイプはvarchar
です。私のウィンドウでは、listview
とそのテーブルにバインドされているgridview
があります。これは、価格の列をソートしますが、それはstring
sと価格の値を扱いますので、string
のではなく、数値としての価格をソートデータ型ソートの振る舞い(double値は数値として扱われません)
private void GridViewColumnHeader_Click(object sender, RoutedEventArgs e)
{
datatable.DefaultView.Sort = "price ASC";
datatable.DefaultView.ToTable();
}
:私は次のようgridview
のGridViewColumnHeader_Click
イベントを設定しています。この現象は、価格フィールドのタイプがvarchar
だったために予想されます。
<GridViewColumn Header="price" DisplayMemberBinding="{Binding price, Converter={StaticResource convert1}}" />
と::この問題を解決するために私は次のようdouble
に価格を変換
public class dataConvert1 : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return double.Parse(value.ToString());
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return new object(); }
}
をしかし、これは問題を解決していないと価格はまだstring
のないdouble
秒として扱われます。 この質問は重複して見えるかもしれません。しかし、同じ質問は答えられていません(ここや他のウェブサイトで)。この質問はまだ問題です。この問題を解決するのを手伝ってください。ビューにコンバータを使用して
これが答えです質問。私は数分前にこの解決策に出てきました。私は答えを書こうと思っていましたが、幸いにもあなたがタスクを完了したことを見ました、ありがとうございます@ mm8。 – Masoud