sql >> データベース >  >> RDS >> Sqlserver

C# でのグリッドビューでの複雑な編集

    1 つのアプローチは、Aristos が議論しているように、より Ajaxy な方法で更新を許可することです。これは通常、よりユーザー フレンドリーなアプローチと考えられており、より優れたユーザー エクスペリエンスを確実に提供しますが、jQuery と JavaScript に精通している必要があり、クライアントとサーバー間のやり取りは、あなたの観点からは少し複雑です。

    Web コントロール パラダイムを引き続き使用する場合は、"Arrives At" フィールドと "Leaves At" フィールドを TemplateFields にすることを検討してください。 ItemTemplate では、データベースで連結したテキストを引き続き表示できますが、GridView を EditItemTemplate に配置します。この GridView は、データ ソース コントロール (EditItemTemplate 内) にバインドし、編集をサポートするように構成できます。プログラムでデータをバインドしている場合 (つまり、そうではありません) データ ソース コントロールを使用する場合)、親行が編集可能になるたびに、データを子 GridView にバインドする必要があります。これは、次のようにマークアップを使用して宣言的に行うことができます:

    <asp:TemplateField ...>
        <EditItemTemplate>
            <asp:GridView runat="server" id="gvChild" DataSource='<%# SomeFunction() %>' ...>
               ...
            </asp:GridView>
        </EditItemTemplate>
    </asp:TemplateField>
    

    ここで、SomeFunction グリッドにバインドするデータを返すコード ビハインド クラス (通常) の関数になります。

    または、親 GridView の RowDataBound を介してプログラムでデータを子 GridView にバインドすることもできます。 イベントハンドラ。つまり、編集中の行を処理しているかどうかを確認します (つまり、e.Row.RowIndex = ParentGridViewID.EditIndex の場合)。 )。その場合、e.Row.FindControl("ChildGridViewID") を使用して子 GridView をプログラムで参照できます。 次に、その DataSource を設定します プロパティを呼び出し、その DataBind を呼び出します メソッド。

    ユーザーが親グリッドの [編集] ボタンをクリックすると、[到着] セルと [出発] セルがグリッドとして表示され、個々の時間を変更するための独自の [編集] ボタンが表示されます。または、ユーザーが最初に親レコードの編集を選択する必要なく、ユーザーが「到着」時刻と「出発」時刻を編集できるようにする場合は、子の編集可能な GridView を ItemTemplate に配置することもできます。



    1. Mysql_fetch_assocが正しく機能していません

    2. float 値を SQL Server に保存する

    3. 特定のタグを持つすべての投稿を取得し、SQLを使用して結果に他のすべてのタグを保持します

    4. オラクルの明示的なカーソル使用の実際の例