2011-05-09 6 views
0

asp:listboxのアイテムをデータセットにエクスポートする最も簡単な方法は何ですか?これは、より高速な方法を考えることはできません、関係なく、あなたがそれを取り込む方法を動作するはずです、かなりまっすぐ進むべき道であるリストボックスアイテムをデータセットにエクスポート

+1

最初にリストボックスにアイテムをどのように取得していますか?彼らはハードコーディングされているか、データバインドされていますか? –

+0

両方のビット(!)それは問題です。リストボックス内のすべての項目は、別のリストボックスからコピーされています。このオリジナルのリストボックスはデータバインドされました。 – Urbycoz

+0

私の答えを参照してください、すべてのラウンドで動作するはずです –

答えて

1

...

public static DataTable GetListBoxItems(ListBox listBox) 
    { 
     DataTable dt = new DataTable(); 
     dt.Columns.Add("Value"); 
     dt.Columns.Add("Text"); 
     dt.Columns.Add("Selected"); 
     dt.Columns.Add("Attributes"); 


     foreach (ListItem itm in listBox.Items) 
     { 
      DataRow dr = dt.NewRow(); 
      dr[0] = itm.Value; 
      dr[1] = itm.Text; 
      dr[2] = itm.Selected; 
      dr[3] = itm.Attributes; 
      dt.Rows.Add(dr); 
     } 
     return dt; 
    } 

OR拡張メソッドを持つ

public static class Extensions 
    { 
     public static DataTable GetListBoxItems(this ListBox listBox) 
     { 
      DataTable dt = new DataTable(); 

      dt.Columns.Add("Value"); 
      dt.Columns.Add("Text"); 
      dt.Columns.Add("Selected"); 
      dt.Columns.Add("Attributes"); 


      foreach (ListItem itm in listBox.Items) 
      { 
       DataRow dr = dt.NewRow(); 
       dr[0] = itm.Value; 
       dr[1] = itm.Text; 
       dr[2] = itm.Selected; 
       dr[3] = itm.Attributes; 
       dt.Rows.Add(dr); 
      } 
      return dt; 
     } 
    } 

これは、次のように呼び出すことができます。

ListBox1.GetListBoxItems(); 
関連する問題