2017-01-03 12 views
0

コンボボックスでグリッドビューを含むWebページを作成する必要があります。条件は: - 私のSQLデータベースにコンボボックスの値を挿入し、保存ボタンをクリックするとdb/gridビューを更新する必要があります。[私はページの提案されたデザインの画像を追加しました]ありがとうございました! I以下コンボボックスで選択した値でグリッドビュー/ dbを更新:ASP.NET C#

答えて

2

GridViewのマークアップ

NorthwindデータベースのCustomersテーブルから移入シンプルGridViewのASP.NetのGridViewコントロールを持っています。 2列の連絡先名と都市がASP.Net DropDownListコントロールで編集可能な都市を表示します。顧客列の識別子列は、DataKeyNamesプロパティにバインドされます。 GridViewの以下


結合


<asp:GridView ID="gvCustomers" DataKeyNames = "CustomerId" runat="server" AutoGenerateColumns = "false" OnRowEditing = "EditCustomer" OnRowDataBound = "RowDataBound" OnRowUpdating = "UpdateCustomer" OnRowCancelingEdit = "CancelEdit"> 
<Columns> 
    <asp:BoundField DataField = "ContactName" HeaderText = "Contact Name" /> 
    <asp:TemplateField HeaderText = "City"> 
    <ItemTemplate> 
     <asp:Label ID="lblCity" runat="server" Text='<%# Eval("City")%>'></asp:Label> 
    </ItemTemplate> 
    <EditItemTemplate> 
      <asp:Label ID="lblCity" runat="server" Text='<%# Eval("City")%>' Visible = "false"></asp:Label> 
    <asp:DropDownList ID = "ddlCities" runat = "server"> 
    </asp:DropDownList> 
    </EditItemTemplate> 
    </asp:TemplateField> 
    <asp:CommandField ShowEditButton="True" /> 
</Columns> 
</asp:GridView> 

データとGridViewコントロールをバインドするコードです。 GridViewの行を編集

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     this.BindData(); 
    } 
} 

private void BindData() 
{ 
    string query = "SELECT top 10 * FROM Customers"; 
    SqlCommand cmd = new SqlCommand(query); 
    gvCustomers.DataSource = GetData(cmd); 
    gvCustomers.DataBind(); 
} 

private DataTable GetData(SqlCommand cmd) 
{ 
    string strConnString = ConfigurationManager.ConnectionStrings["conString"].ConnectionString; 
    using (SqlConnection con = new SqlConnection(strConnString)) 
    { 
     using (SqlDataAdapter sda = new SqlDataAdapter()) 
     { 
      cmd.Connection = con; 
      sda.SelectCommand = cmd; 
      using (DataTable dt = new DataTable()) 
      { 
       sda.Fill(dt); 
       return dt; 
      } 
     } 
    } 
} 


以下のイベントは、[イベントの編集]をGridViewの行編集を処理し、キャンセル C#

protected void EditCustomer(object sender, GridViewEditEventArgs e) 
{ 
    gvCustomers.EditIndex = e.NewEditIndex; 
    BindData(); 
} 

protected void CancelEdit(object sender, GridViewCancelEditEventArgs e) 
{ 
    gvCustomers.EditIndex = -1; 
    BindData(); 
} 


関連する問題