|
分類:[.NET 全般]
C#WebformsGridViewで、ある特定の列にのみボタン機能を実装する方法がわからなくて困っています。
↓aspx.cs↓ using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Npgsql;
namespace グリッドビューテスト { public partial class グリッドビューテスト : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { NpgsqlConnection con = new NpgsqlConnection("Server=localhost; Port=5432; User Id=postgres; Password=×××; Database=postgres; SearchPath=public"); con.Open();
string sqlquery = @"SELECT o.order_date, c.name, oi.product_name, oi.quantity, oi.price " + "FROM orders o " + "JOIN customers c ON o.customer_id = c.id " + "JOIN order_items oi ON o.id = oi.order_id " + "JOIN products p ON oi.product_name = p.name " + "WHERE o.order_date BETWEEN '2022-01-01' AND '2022-12-31 '" + "AND p.name = 'iPhone';"; NpgsqlCommand sqlcomm = new NpgsqlCommand(); sqlcomm.CommandText = sqlquery; sqlcomm.Connection = con;
DataTable dt = new DataTable(); NpgsqlDataAdapter npd = new NpgsqlDataAdapter(sqlcomm); npd.Fill(dt); GridView1.DataSource = dt; GridView1.DataBind(); }
} }
↓aspx↓ <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="グリッドビューテスト.aspx.cs" Inherits="グリッドビューテスト.グリッドビューテスト" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form id="form1" runat="server"> <div> </div> <asp:GridView ID="GridView1" runat="server"> </asp:GridView>
</form> </body> </html>
インターネットで調べましたところ、グリッドビューで生成された表の右端もしくは左端に、「選択」「削除」「ダウンロード」などのボタンを実装する記事は見つけましたが、データベースからデータを読込み、表示されたグリッドビューのある特定の列の値にのみボタンを実装する記事は見つかりませんでした。
あげさせていただきましたコードは、テストのものですが、実行後、生成されたグリッドビューの、「name」列の値が、ボタン化され、それぞれの名前の人を押すと、ポップアップが出る仕様を実現しようとしています。 どうすれば実現できるでしょうか?ご存じの方がいらっしゃいましたら、ご教示ください。よろしくお願いいたします。
|