ユーザー名を DomainDataSource QueryParameter にバインドする必要があります。私の理解では、以下は機能しません。
<RiaControls:DomainDataSource x:Name="MyData" LoadSize="20" QueryName="GetStockByCompany" AutoLoad="True">
<RiaControls:DomainDataSource.DomainContext>
<ds:InventoryDomainContext />
</RiaControls:DomainDataSource.DomainContext>
<RiaControls:DomainDataSource.QueryParameters>
<riadata:Parameter
ParameterName="userName"
Value="{Binding Path=User.Name}" />
</RiaControls:DomainDataSource.QueryParameters>
</RiaControls:DomainDataSource>
ページの C# コード ビハインド部分を使用することに反対しているわけではありませんが、これをどのイベントに配置すればよいかわかりません。
これまでのところ、私はこれを試しました:
public Inventory()
{
InitializeComponent();
Loaded += Inventory_Loaded;
}
private void Inventory_Loaded(object sender, RoutedEventArgs e)
{
this.MyData.QueryParameters.Add(new Parameter { ParameterName = "userID", Value = RiaContext.Current.User.Name});
}
しかし、 InitializeComponent() が最初に起動し、データをロードするため、クエリに実行するパラメーターがないために DomainDataSource が爆破されます...機能しませんでした。
次に試したのは・・・
【xamlファイル】
<RiaControls:DomainDataSource x:Name="MyData" LoadSize="20" QueryName="GetStockByCompany" AutoLoad="True" LoadingData="MyData_LoadingData">
【csファイル】
private void MyData_LoadingData(object sender, LoadingDataEventArgs e)
{
this.MyData.QueryParameters.Add(new Parameter { ParameterName = "userID", Value = RiaContext.Current.User.Name});
}
残念ながら、イベントは発生しませんでした。理由はわかりません。
私もこれを試しました:[xamlファイル]
<RiaControls:DomainDataSource x:Name="MyData" LoadSize="20" QueryName="GetStockByCompany" AutoLoad="True" LoadedData="MyData_LoadedData">
【csファイル】
private void MyData_LoadedData(object sender, LoadedDataEventArgs e)
{
this.MyData.QueryParameters.Add(new Parameter { ParameterName = "userID", Value = RiaContext.Current.User.Name});
}
しかし、それはただばかだった。
私は途方に暮れています。ページの読み込み時に、パラメーターを使用してこのクエリを読み込むにはどうすればよいですか?
ありがとう!