0
<asp:SqlDataSource ID="workHourListSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:PlaningSystemConnectionString %>" 
     SelectCommand="SELECT *
                    FROM Date AS t1 FULL OUTER JOIN (SELECT * FROM WorkHoursEntry WHERE (WorkerID LIKE @WorkerID)) AS t2 ON t1.PKDate = t2.WorkDay 
                    LEFT OUTER JOIN Worker AS t3 ON t2.WorkerID = t3.WorkerID 
                    LEFT OUTER JOIN (SELECT * FROM Project WHERE ProjectID IN(@Project)) AS t4 ON t2.ProjectID = t4.ProjectID"
     FilterExpression="YearMonth IN({0})">
     <FilterParameters>
        <asp:ControlParameter ControlID="yearMonthFilterLabel" Name="YearMonth" 
                    PropertyName="Text" Type="String" />
     </FilterParameters>
     <SelectParameters>
        <asp:ControlParameter ControlID="WorkerIDLabel" Name="WorkerID" 
                    PropertyName="Text" Type="String" />
        <asp:ControlParameter ControlID="projectFilterLabel" Name="Project" 
                    PropertyName="Text" Type="String" />
    </SelectParameters>
</asp:SqlDataSource>

こんにちは、@ Project ControlParameterに問題があります。問題は、いくつかの値を渡す方法がわからず、FilterParametersメソッドが希望どおりに機能しないことです。いくつかの変数を渡す方法はありますか?(c#を使用せずに)。

projectFilterLabel.Text = 'aaa, bbb, ccc';

基本的に私がやりたいのは、日付テーブルからすべての値を選択し、それらをプロジェクトテーブルのいくつかの値と結合してDataListに出力することです。

助けていただければ幸いです。私はasp.netを学び始めました。

ありがとう。

4

2 に答える 2

0

aspフォームで、レポートのウィンドウを開く処理を行うjavascript関数を作成します。この関数では、パラメーター(var pPassParm)値をtextbox.text(親フォームに非表示)に設定し、ウィンドウを開いてこの値を渡します(/reportfolder/report.asx?pPassparm)。

実行コードで、新しいパラメーターを開く前に、すべてのパラメーターを1つの文字列(textbox.text ='StartDate = 2012/01/01、EndDate = 2012/02/01、Surname = Jones'など)に連結するコードを作成します。レポートのフォーム。

投稿を参照してください新しいウィンドウを開き、それにパラメータを渡しますvb.net asp

于 2012-04-21T08:03:13.010 に答える
0

イベントの SqlDataSource のパラメーターを内部に持つ新しいクエリを作成する (古いものを置き換える) ことで、この問題を解決しました。

于 2012-06-12T19:46:49.967 に答える