0

Telerik RadGrid ビューにバインドするリストがあります。すべて正常に動作します。私のオブジェクトには、通貨記号と価格の 2 つの属性が含まれています。私が使う

 <telerik:GridViewDataColumn  DataMemberBinding="{Binding BallPrice}"  Header="Price"/>.

これで、バインド先のオブジェクトにも通貨記号が含まれるようになりました。そのため、この列にもその通貨記号を含めたいと思います。

<telerik:GridViewDataColumn  DataMemberBinding="{Binding BallPrice} +{Binding Symbol}"  Header="Price"/>. 

これどうやってするの ?

敬具。

4

3 に答える 3

1

この場合、列でテンプレートを使用します。だから、それはこのようなものになります。

<telerikGridView:GridViewDataColumn Header="Price">
<telerikGridView:GridViewDataColumn.CellTemplate>
    <DataTemplate>
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="{Binding BallPrice}"/>
            <TextBlock Text="{Binding Symbol}"/>
        </StackPanel>
    </DataTemplate>
</telerikGridView:GridViewDataColumn.CellTemplate>

于 2011-10-18T11:11:48.910 に答える
0

DataFormatString="{0:c}" を追加しようとしましたか? それは通貨としてフォーマットする必要があります。

于 2011-10-17T17:57:39.513 に答える
0

Multibinding が RadGridView の列で機能するかどうかはわかりませんが、それは 1 つの解決策です。

<telerik:GridViewDataColumn>
    <telerik:GridViewDataColumn.DataMemberBinding>
        <MultiBinding StringFormat="[{0} {1}]">
            <Binding Path="BallPrice" />
            <Binding Path="Symbol" />
         </MultiBinding>
     </telerik:GridViewDataColumn.DataMemberBinding>
</telerik:GridViewDataColumn>

ただし、可能であれば、次のように 2 つのプロパティを組み合わせた新しいプロパティをオブジェクトに追加することを検討します。

public string Price
{
    get
    {
        return string.format("{0} {1}", this.BallPrice, this.Symbol);
    }
}

そして、それにバインドするだけです。

MVVM を使用している場合、これは ViewModel で非常にうまく機能し、実行時に変更できる場合は、BallPrice プロパティと Symbol プロパティの両方に NotifyPropertyChanged を設定できます。

于 2012-08-31T16:45:26.183 に答える