2011-12-07 60 views
0

私の現在の設定:(SQLによって移入)
フォーム
ドロップダウンリスト
ユーザーがDDLから項目を選択し、を押し[+(追加)] [ - (削除)]除去するボタンをその行
ユーザーこのアイテムにボタン
SQLルックアップテーブルに
新しい行の値はSQLに基づいて、入力値のセルは行の
最後のセルがを有する結果sはこれを複数回行うことができるので、テーブルはC#ASPX ASP.NET - 追加&テーブル行を削除

となります。

DDL:
[値:123] [+]

表:
|行番号| ID |ファーストネーム|姓削除|
| 1 | 123 |ジョン|スミス| X |

より良い解決策はありますか?あなたが移動する前に、より良い方法を考えることができるかどうか教えてください...

問題は、私は動的にC#の/ ASPを使用して、テーブルに行を追加する方法を見つけることができないということです。

好ましくは、これを動的に(または次善策として)実行するには、いくつかのASP機能が必要です。私はJavascript Adhocを解決することができましたが、新しいテーブル行に追加する必要があるデータがSQL経由でフェッチされているので、これを回避しようとしていました。

現在これは(あなたが必要とするだけのもの)これまでの私の壊れたコードです:

のDefault.aspx:

<asp:DropDownList> 
    <asp:Item>1</asp:Item> 
    <asp:Item>2</asp:Item> 
    <asp:Item>3</asp:Item> 
</asp:DropDownList> 

<input type="button" onClick="AddRow()" runat="server" />` 

<asp:Table id="aTable" name="aTable"> 
<asp:TableHeaderRow> 
    <asp:TableHeaderCell>1</asp:TableHeaderCell> 
    <asp:TableHeaderCell>2</asp:TableHeaderCell> 
    <asp:TableHeaderCell>3</asp:TableHeaderCell> 
    <asp:TableHeaderCell>4</asp:TableHeaderCell> 
    <asp:TableHeaderCell>5</asp:TableHeaderCell> 
    <asp:TableHeaderCell>6</asp:TableHeaderCell> 
</asp:TableHeaderRow> 

</asp:Table> 

Default.aspx.cs:

protected void AddRow(object sender, EventArgs e) { 
    Table table = new Table(); 
    table.ID = "aTable"; 
    TableRow row = new TableRow(); 
    TableCell cell = new TableCell(); 
    table.Rows.Add(row); 
    cell.Text = "Test"; 
    row.Cells.Add(cell); 
    row.Cells.Add(cell); 
    row.Cells.Add(cell); 
    row.Cells.Add(cell); 
    row.Cells.Add(cell); 
    row.Cells.Add(cell); 
} 

Researc hでは、DataTableについての情報が表示されますが、これらはブラウザの表として表示されません。私もうまくいかないごみのチュートリアルを読んだので、私はプロのSOに頼んでいます!

すべてのヘルプははるかに高く評価される:)

答えて

3

あなたはGridViewを使用してオフにはるかに良いでしょう。これらは、例のようにSQLデータソースに簡単に設定できます。

aspxページでデータソースを設定しないようにして、Page_Loadイベントで、あなたがこの種のものを行うことができますことも可能です:

Protected void Page_Load(object sender, EventArgs e) 
{ 
    GridView.DataSource = Webservice.someMethodCall(param1, param2); 
    GridView.DataBind(); 
} 

このアプローチはまた、ボタンををPage_Loadをクリックされたときにことを意味しイベントがトリガされ、グリッドビューが更新されます。

4

まずあり、私はあなたがasp:Tableタグでrunat="server"を設定しなかった驚いて。

<asp:Table id="aTable" name="aTable" runat="server"> 

第二に、背後にあるコードから、あなたは直接aTableオブジェクトを使用することができます。

protected void AddRow(object sender, EventArgs e) { 
    TableRow row = new TableRow(); 
    TableCell cell = new TableCell(); 
    aTable.Rows.Add(row); 
    cell.Text = "Test"; 
    row.Cells.Add(cell); 
    row.Cells.Add(cell); 
    row.Cells.Add(cell); 
    row.Cells.Add(cell); 
    row.Cells.Add(cell); 
    row.Cells.Add(cell); 
} 

第3に、学習するための多くのリソースがあります。 Googleを使用します。

+0

申し訳ありませんが、偶然私が提供したサンプルコードに含めるのを忘れてしまいました。コードは機能しませんでしたが、私は助けていただきありがとうございますが、あなたはGoogle jabを含める必要はありませんでした。 –

1

3分で殴られますが...。

<asp:Button ID="button1" runat="server" OnClick="AddRow" /> 
<asp:Table id="aTable" name="aTable" runat="server"> 
    <asp:TableHeaderRow> 
     <asp:TableHeaderCell>1</asp:TableHeaderCell> 
    </asp:TableHeaderRow> 
</asp:Table> 

protected void AddRow(object sender, EventArgs e) 
{ 
    TableRow row = new TableRow(); 
    TableCell cell = new TableCell(); 
    cell.Text = "hello"; 
    row.Cells.Add(cell); 

    aTable.Rows.Add(row); 
} 
関連する問題