実現したい事
repeaterで取得した一覧からチェックボックスのチェックされた行のみを取り出して一覧で表示したい。
いろいろググってみましたが、ヒットしませんでした。
ご教授よろしくお願いします。
環境
ASP.NET
VisualStudio2017
.net framework 4.8
repeaterからの取得画面
ソース
デザイン側
aspx
1<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 2 3 <%--ヘッダ--%> 4 <asp:Panel ID="Pnl84H" runat="server"> 5 <div class="container" style=""> 6 <div class="row"> 7 <div style= "padding: 0px; text-align: center"> 8 <asp:CheckBox ID="chk_no0" runat="server" Checked="False" AutoPostBack="True" OnCheckedChanged="Ch_no0_CheckedChanged" /> 9 </div> 10 <div style="padding: 0px; text-align: center; border: solid; border-width: 1px;"> 11 <span id="Label1" class="tblheader1">No</span> 12 </div> 13 <div > 14 <div class="row"> 15 <div style="border: solid; border-width: 1px;"> 16 <span id="Label2" >名前</span> 17 </div> 18 <div style=" border: solid; border-width: 1px;"> 19 <span id="Label3" >メールアドレス</span> 20 </div> 21 <div style=" border: solid; border-width: 1px;"> 22 <span id="Label4" >電話番号</span> 23 </div> 24 </div> 25 </div> 26 </div> 27 </div> 28 </asp:Panel> 29 30 31 <%--明細--%> 32 <asp:Panel ID="Pnl84" runat="server"> 33 <div class="container" style=""> 34 <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound"> 35 <ItemTemplate> 36 <div class="row"> 37 <div style="padding: 0px; text-align: center; border: solid; border-width: 1px;"> 38 <asp:CheckBox ID="chk_no1" runat="server" /> 39 </div> 40 <div > 41 <div class="row"> 42 <div style="border: solid; border-width: 1px;"> 43 <asp:TextBox ID="txtName_1" runat="server" Text='<%# Eval("NAME") %>' Enabled="False" BorderStyle="None"></asp:TextBox> 44 </div> 45 <div style="border: solid; border-width: 1px;"> 46 <asp:TextBox ID="txtMail_1" runat="server" Text='<%# Eval("MAIL") %>' Enabled="False" BorderStyle="None"></asp:TextBox> 47 </div> 48 <div style="border: solid; border-width: 1px;"> 49 50 <asp:Label ID="lblTel_1" runat="server" Text='<%# Eval("TEL") %>'></asp:Label> 51 </div> 52 </div> 53 </div> 54 </div> 55 </ItemTemplate> 56 </asp:Repeater> 57 </div> 58 </asp:Panel> 59 60</asp:Content>
コード側
C#
1 public partial class TestList 2 { 3 public string pageFlg; 4 5 protected void Page_Load(object sender, EventArgs e) 6 { 7 if (!IsPostBack) 8 { 9 10 using (var sqlCon = new SqlConnection("Data Source = XXXXXXXXXX; Initial Catalog = Test; Integrated Security = True")) 11 { 12 DataTable dt = new DataTable(); 13 var com = sqlCon.CreateCommand(); 14 comm.CommandText = "SELECT * FROM TBL_1"; 15 var sda = new SqlDataAdapter(com); 16 sda.Fill(dt); 17 } 18 19 Repeater1.DataSource = dt; 20 Repeater1.DataBind(); 21 } 22 } 23 24 protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) 25 { 26 } 27 }
質問は編集できるので、無駄にスレッドを立てるのではなく、前のスレッド https://teratail.com/questions/366152 を編集するようにしてください。
質問欄に提示されたコードで質問の画像の Repeater が表示されるはずはないし、そもそもコンパイルも通らないのでは?
質問者さん、無言ですか、回答したのでそれに対するフィードバックを書いてください。役に立った/立たなかったぐらいのフィードバックならすぐ返せるのでは? 役に立たなかったならどこがダメだったか書いてもらえるとより期待するものに近い回答が出てくるかも。とにかく無言で放置は NG です。
大変失礼しました。
このサイトの使い方について慣れていないため回答者様の気分を害してしまって申し訳ありませんでした。
教えていただいたURLを参考にチェックされた行の情報をテキストで取得することはできましたが、
自分のスキル不足で編集ボタン押下でチェックされた行のみの一覧を表示することができませんでした。
また説明不足でしたが、ヘッダーは固定にして詳細部分のみパネルで切り替えをしたいと思っています。できれば今のrepeaterをそのまま使えればベストです。
回答に対するレス・質問などはここではなく回答欄の下のコメント欄に書いてください。
あなたの 2021/10/28 10:33 のコメントにレスが必要なら、依頼されたこと(ここではなく回答欄の下のコメント欄に書く)をちゃんとやってください。
回答1件
あなたの回答
tips
プレビュー