2017-02-09 5 views
0

私はGridViewを持っています。私は複数の行を選択し、列mobilenumberからデータを取得し、それをタイプ文字列のリストに追加したいと考えています。それはどうですか?これは私が試みたものですが、コードは私にエラーを与えます。c#で複数の行を選択し、データをリストに渡しますか?

protected void Button1_Click(object sender, EventArgs e) 
{ 
    List<string> selectedRows = new List<string>(); 
    foreach (DataGridViewRow row in GridView1.SelectedRows) 
    { 
     string currentRow = string.Empty; 
     foreach (DataGridViewCell cell in row.Cells) 
     { 
      currentRow += String.Format("{0} ", cell.FormattedValue); 
     } 
     selectedRows.Add(currentRow); 
    } 
    for (int i = 0; i < selectedRows.Count; i++) 
    { 
     this.listBox1.Items.Add(selectedRows[i]); 
    } 
} 

のaspx -

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AutoGenerateSelectButton="True" style="margin-left: 78px; margin-right: 0px"> 
    <columns> 
     <asp:BoundField DataField="MobileNumber" HeaderText="MobileNumber" /> 
    </columns> 
</asp:GridView> 
+0

.ToString()メソッドを呼び出す必要がありますので、エラーの原因となる

またFormattedValueobjectを返し、あなたはList<string>からadding objectですか –

+0

@Roma - エラー 'System.Web.UI.WebControls.GridView'に 'SelectedRows'の定義がなく、 'System.Web.UI.WebControls'型の最初の引数を受け入れる拡張メソッド 'SelectedRows'はありません。 GridViewが見つかりました(使用するディレクティブまたはアセンブリ参照がありませんか?) –

+0

GridViewには、SelectedRowsというメソッド/プロパティがありません。エラーメッセージはそれほど明確ではありません。 – DavidG

答えて

0

あなたのエラーは、GridViewコントロールのSelectedRowsプロパティが存在しないことを示しています。 docs for GridViewを見ると、最も近いものはSelectedRow(単数)のようです。したがって、通常、コントロールでは複数の行を選択することはできません。

複数を選択するためにadd a checkbox to each GridView rowというチュートリアルが見つかりました。これが役立つかもしれません。

0

名前で特定のセル値の値を取得できます。あなたはどのエラーが出るのですか?FormattedValue

foreach (DataGridViewRow row in GridView1.SelectedRows) 
{ 
    string currentRow = string.Empty; 
    currentRow += String.Format("{0} ", row.Cells["MobileNumber"].FormattedValue.ToString()); 
    selectedRows.Add(currentRow); 
} 
関連する問題