2012-02-01 16 views
0

これは、asp.netとwebforms、windowsformsのすべてでの最初の試みです。私はもともとリストボックスにデータを設定していましたが、1つの列しか取得できず、listViewが私の望むように聞こえると思っていました。 dtableは、テーブルの数を結合し、クエリのカスタムテーブルであるlistView Row Controlに文字列配列を追加するC#asp.net

DataSet listData = new DataSet(); 
    CancellationsControls cancelCtrl = new CancellationsControls(); 
    listData = cancelCtrl.GetScheduledReleaseDataSet(); 

    DataTable dtable = listData.Tables[0]; 

    scheduledReleasesTag.Items.Clear(); 
    foreach (DataRow row in dtable.Rows) 
    { 
     string[] ar = Array.ConvertAll(row.ItemArray, p => p.ToString()); 
     scheduledReleasesTag.Items.Add(new ListViewDataItem(ar)); 
    } 

:私が見つけ

最も有望な解決策は、このでした。

foreachループでar文字列配列には、必要なデータの列が表示されますが、ListViewDataItemには、例のように文字列配列ではなく2つのint引数が必要です。

listViewコントロールがどのように機能するかを詳しく調べてみましたが、これは私が何かを取得することができるほど近くにあります。説明の助けがあれば、非常に感謝しています。

ありがとうございました:)

+0

あなたのリストビューのマークアップはどのように見えますか?また、[MSDN](http://msdn.microsoft.com/en-us/library/ie/bb398790.aspx#BindingDataToTheListViewControl)の例を見てもわかりませんが、役立つかもしれません。 – R0MANARMY

+0

一見したところでは、バインディングの問題のように聞こえます。 – MethodMan

+0

残念ながら私は専門用語についても新しいです。これが、あなたが意味するものなら、.aspxファイルにあるものです。 ' ' – mrfreester

答えて

2

を私はASPでかなり初心者だけど、データをListViewコントロールをバインドするために、このようななめらかに動作するはずです:

DataSet listData = new DataSet(); 
CancellationsControls cancelCtrl = new CancellationsControls(); 
listData = cancelCtrl.GetScheduledReleaseDataSet(); 

DataTable dtable = listData.Tables[0]; 
ListView1.DataSource = dtable; 
ListView1.DataBind(); 

今、私たちはItemTemplateにを作成する必要があります。あなたのListViewコントロールは、次のようになります。ただ、列の名前とマーカー(COLUMN_NAME、another_column_name)を交換

<asp:ListView ID="ListView1" runat="server"> 
     <ItemTemplate> 
     <tr id="Tr1" class="item" runat="server"> 
     <td> 
      <asp:Label ID="column_name" runat="server" Text='<%# Eval("column_name") %>' /> 
     </td> 
     </tr> 
     <tr id="Tr2" class="item" runat="server"> 
     <td> 
      <asp:Label ID="another_column_name" runat="server" Text='<%# Eval("another_column_name") %>' /> 
     </td> 
     </tr> 
     </ItemTemplate> 
</asp:ListView> 

、それはあなたが表示したいデータが含まれています。このテンプレートは、2つの列の値のペアを1つずつ表示します。

+0

驚くばかり、それはまさに私が必要なものです知っている。テンプレートの設定を知らなかった。ありがとうございます:) – mrfreester

+0

私はうれしいです:)私はあなたがStackOverflowで新しくなっていることを知っています。挨拶 – IDontKnowPopePersonally

関連する問題