2011-01-16 7 views
0

私はこれらの列を持つグリッドビューを持っています:id、name、price、quantity、total。また、私はグリッドビューのすべての行にボタンとチェックボックスを持っています。私はいくつかの行をチェックすると、私は別のgridview.Howで転送するボタンで、これらの行が欲しいと思いますか?別のグリッドビューでデータを転送

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
     DataKeyNames="id" DataSourceID="SqlDataSource3"> 


     <Columns> 
         <asp:TemplateField> 
       <ItemTemplate> 
        <asp:CheckBox ID="chkSelect" runat="server" /> 
        <asp:HiddenField ID="hdValue" runat="server" Value='<%#Eval("ID") %>' /> 
       </ItemTemplate> 
      </asp:TemplateField> 

      <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" 
       ReadOnly="True" SortExpression="id" /> 
      <asp:BoundField DataField="name" HeaderText="name" ReadOnly="True" 
       SortExpression="name" /> 
      <asp:BoundField DataField="price" DataFormatString="{0:c}" HeaderText="price" 
       ReadOnly="True" SortExpression="price" /> 
      <asp:BoundField DataField="quantity" HeaderText="quantity" 
       SortExpression="quantity" /> 
      <asp:BoundField DataField="total" DataFormatString="{0:c}" HeaderText="total" 
       ReadOnly="True" SortExpression="total" /> 


     </Columns> 
    </asp:GridView> 
    <asp:SqlDataSource ID="SqlDataSource3" runat="server" 
     ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
     SelectCommand="SELECT * FROM [Land]"></asp:SqlDataSource> 
</div> 
<div> 

    <asp:Button ID="Button1" runat="server" Text="Button" /> 

</div> 

答えて

0

データグリッドでの作業中、私は通常私のデータのためのテンプレートを保持するクラスを作成し、私はこのクラスからオブジェクトを作成し、リストに入れ、その後、私は簡単に任意のグリッドにこのリストをバインドすることができます。例えば

List<LandTemplate> landList = new List<LandTemplate>(); 
public void CheckBox_Click(object sender, EventArgs e) 
{ 
    // get data from the current grid row... 

    LandTemplate land = new LandTemplate(); 
    land.Id= currentRow.Id; 
    land.Name = currentRow.Name; 
    .... 

    landList.Add(land); 

} 

public void Button_Click(object sender, EventArgs e) 
{ 
    this.gridView1.DataSource = landList; 
     this.gridView1.DataBind(); 
} 

しかし、あなたはLandListを保存する必要があります:あなたのケースでは、あなたがそれを行うことができ、チェックボックスのイベントをクリックされますあなたの方法で次に

public class LandTemplate 
{ 
    public property Id{get; set;} 
    public property Name{get; set;} 
    public property Price{get; set;} 
    public property Quantity{get; set;} 
    public property Total{get; set;} 
} 

ビューを更新するたびに内部のデータが失われないように、ビューステートまたはセッションで実行します。

私は構文をチェックしませんでしたが、私はあなたがそのアイデアを得たことを願っています。

+0

addこのデータを転送するには、button_clickに何かを書き込む必要がありますか? – dali1985

+0

私は私の答えを編集して見て、何かが明確でないか教えてください。 –

+0

ありがとうございます。あなたがviewstateのランドリストを保存する方法を知っていればわかりません。:-( – dali1985

関連する問題