2012-01-15 11 views
1

私はPHP開発者ですが、私たちはasp.netをC#で学んでいます。私はC#とoopsの基本に精通しています。私が直面している問題は、データベースから値を取得してデータテーブルを作成する方法を学んだことです。今から私はグリッドコントロールをバインドしてデータを表示できることを知っていますが、このテクニックはデータグリッドに自分自身のものをやるように制限しています。asp.netテーブルを構築する

<?php 
*/ 
retrive the data from the database and store it in an array using $row_sql = mysql_fetch_array() function 
/* 
.... 
.... 
?> 
<table> 
<tr> 
<td><?php $row_sql['fieldname']; ?></td> 
</tr> 
.... 
.... 

</table> 
?> 

私は私がしたいことを確認していないが、リピータと、このようなことを行うことができることを知っている。今、私が欲しいのは、私が ようなテーブルを構築するために必要な場合、私はPHPでハードコードにテーブルを使用したことです私はasp.netスタイルに精通していないので、そのようなコントロールを使用するか、または単にそれを使用する。

誰も私にこれをどうやって案内できますか? または、私がPHPでそれを行う方法を知っていれば、asp.netを学ぶために何をすべきか教えてください。

更新: ここで私は何をしたのですが、まだエラーが発生しています。

まず、私が示唆したように、私は、コードを使用し、DataAdapterからデータセットを充填することにより、データベースを作成したが、私は次のエラーを取得しています:

foreach statement cannot operate on variables of type 'System.Data.DataTable' because 'System.Data.DataTable' does not contain a public definition for 'GetEnumerator'

+0

テーブルを生成する最も簡単で簡単な方法は、ネイティブのasp.net gridviewコントロールを使用することです。他の方法もありますが、最初にgridviewを調べることをお勧めします。 – frenchie

答えて

1

あなたはでのみグリッドコントロールを使用することに限定されていませんあなたの処分 - 特定のデータテーブルのデータ行をループすることで、独自のマークアップを生成することができます。データテーブル内の各データ行をループし、列1-3の内容を書き出す(自分の名前を想定します

<% 
foreach (DataRowView dr in myDataTable.AsDataView()) 
{ 
    Response.Write("<tr>"); 
    Response.Write("<td>" + dr["Column1"].ToString() + "</td>"); 
    Response.Write("<td>" + dr["Column2"].ToString() + "</td>"); 
    Response.Write("<td>" + dr["Column3"].ToString() + "</td>"); 
    Response.Write("</tr>"); 
} 
%> 

は、「列1」、「列2」であり、:あなたは、例えば、このような何かを行うことができます"Column3"、もちろん)、それぞれ独自のTDで、TRに包まれています。しかし、私はあなたがそれをすでに理解していると確信しています...

私は、MVCフレームワーク(ASP.NET MVCフレームワークであろうとあなた自身であろうと)を実装する方がいいでしょう。 PHPの背景から来ています。

EDIT私は単に「AsDataView()」拡張メソッドを使用するようにSystem.Data名前空間を含めることを忘れないでください...列挙のためのDataViewタイプを使用するようにコードスニペットを更新しました。または、次のようにデータビューを得ることができる:

あなたがこれを達成することができますいくつかの方法があります
<% 
foreach (DataRowView dr in new DataView(myDataTable)) 
{ 
    // code... 
} 
%> 
+0

答えてくれてありがとうございました。@FarligOpptredenが必要でした。私はZendのようなフレームワークで作業すれば、コードをより保守性にすることができます。上記で提案された方法については、私はそれを試み、あなたに戻ってくるでしょう。あなたがもう1つのことを私に助けてくれるなら...どこからMVCに関する良いチュートリアルを見つけることができますか?私は悪いプログラマーになりたくはありません.NETの場合 –

+0

Pleasure ankit!私の答えがあなたを助け、あなたの質問に答えたなら、それを答えとすることを検討するかもしれません。 :) – FarligOpptreden

+0

遅く返事を申し訳ありませんが、私はまだいくつかの問題を抱えています。私はabcという名前のデータテーブルを作成しました。私はあなたが示唆したように各テーブルに対してそのテーブルを使用していますが、次のようなエラーが発生しています。 'System.Data.DataTable' .DataTable 'には' GetEnumerator 'のパブリック定義が含まれていません –

1

  1. GridViewコントロールまたは類似seversideコントロールを使用するには。もっと見るためにthis exampleまたはthis example
  2. データセットをループし、手動でhtmlを作成する。 ASP.NETコードとプレーンHTMLを混在させることでPHPに似ています。

     <% 
          foreach (var row in myDataTable) 
           {%> 
           <tr> 
           <td> + <%=row[1].ToString()%> + </td> 
           <td> + <%=row[1].ToString()%> + </td> 
           <td> + <%=row[1].ToString()%> + </td> 
           ..... 
           <td> + <%=row[n].ToString()%> + </td> 
           <% } 
          %> 
    

    3:より多くの何のような@FarligOpptredenは次のよう

何かを示唆しました。 table server controlを使用してください。

PHPの経験がある人にとっては、ナンバー2が理にかなっていると思います。

+0

ありがとう優れた答えのエマニュエルNとはい、確かに第二の解決策は私にとってより意味をなさないです。上記の方法を試してみると、あなたに戻ってきます。本当に答えに感謝します。 –

+0

ご返信遅れて申し訳ありません –

関連する問題