質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

1回答

3680閲覧

ASP.netのListViewの値を削除するには

kumakumatan

総合スコア213

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2020/07/20 04:11

編集2020/07/20 07:07

Windows7
.NET Framework 4.7.1
Visual Studio 2017
DB:Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

html

1<!DOCTYPE html> 2<html lang="ja"> 3<head runat="server"> 4<meta charset="utf-8"> 5<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 6<meta http-equiv="Pragma" content="no-cache" /> 7<meta http-equiv="Cache-Control" content="no-cache" /> 8<meta http-equiv="Expires" content="0" /> 9 <title>テスト画面</title> 10</head> 11<body> 12 13<form id="main" runat="server"> 14<div class="header"> 15 <asp:Label ID="Name" CssClass="name1" runat="server" Text="テストです"></asp:Label> 16</div> 17 18<div class="inline-block_test" runat="server"> 19 <asp:Button cssclass="searchbtn" runat="server" Text="検索" ID="searchbtn" Height="37px" Width="87px" /> 20 <asp:Button cssclass="Cancelbtn" runat="server" Text="キャンセル" ID="Cancel" Height="37px" Width="87px" /> 21</div> 22 <asp:ScriptManager ID="ScriptManager" runat="server" AsyncPostBackTimeout="0"></asp:ScriptManager> 23 24<div class ="Serchblock" id ="Serchblock1" > 25 <asp:UpdatePanel ID="updsyo" runat="server"> 26 <ContentTemplate> 27 <p> 28 <asp:Label ID="lbl1" CssClass="lblmid" runat="server">テストコード</asp:Label> 29 <asp:TextBox ID="txtoff1" runat="server" CssClass="inp1" MaxLength="10" Text=""></asp:TextBox> 30 </p> 31 </ContentTemplate> 32 </asp:UpdatePanel> 33</div> 34<table class ="list1"> 35 <asp:Panel ID="pnlResult" CssClass="pnlResult" runat="server"> 36 <asp:UpdatePanel ID="updResult" runat="server"> 37 <ContentTemplate> 38 <asp:ListView ID="ListView1" runat="server"> 39 <LayoutTemplate> 40 <div class="t1"> 41 <tr> 42 <th>テスト1</th> 43 <th>テスト2</th> 44 </tr> 45 <span id="itemPlaceholder" runat="server"></span> 46 </div> 47 </LayoutTemplate> 48 <ItemTemplate> 49 <tr id="DataList" class="DataList"> 50 <td><%# Eval("T1")%></td> 51 <td><%# Eval("T2")%></td> 52 </tr> 53 </ItemTemplate> 54 </asp:ListView> 55 </ContentTemplate> 56 </asp:UpdatePanel> 57 </asp:Panel> 58</table> 59</form> 60</body> 61</html>

vb

1 2' 検索ボタンクリック 3 Protected Sub searchbtn_Click(sender As Object, e As EventArgs) Handles searchbtn.Click 4 5 Dim strSql As New StringBuilder 6 Dim objCmd As OracleCommand 7 Dim objDr As OracleDataReader 8 9 Dim A As String = String.Empty 10 A = txtoff1.Text 11 12 Dim objDataRow As DataRow 13 objDt.Columns.Add(New DataColumn("T1", GetType(String))) 14 objDt.Columns.Add(New DataColumn("T2", GetType(String))) 15 16 strSql.Length = 0 17 strSql.AppendLine("SELECT") 18 strSql.AppendLine(" T1, T2") 19 strSql.AppendLine(" FROM ") 20 strSql.AppendLine("TEST_TABLE") 21 strSql.AppendLine(" WHERE") 22 strSql.AppendLine(" 1 = 1") 23 If String.IsNullOrEmpty(A) = False Then 24 strSql.AppendLine(" AND T3 = '" & A & "'") 25 End If 26 strSql.AppendLine(" ORDER BY T1 ") 27 28 Using objConn As OracleConnection = Cmn.GetConnection 29 30 Try 31 objConn.Open() 32 objCmd = New OracleCommand 33 34 With objCmd 35 .Connection = objConn 36 .BindByName = True 37 .CommandType = CommandType.Text 38 .CommandText = strSql.ToString 39 objDr = objCmd.ExecuteReader() 40 End With 41 42 While objDr.Read() 43 44 objDataRow = objDt.NewRow 45 46 objDataRow("T1") = objDr("T1").ToString 47 objDataRow("T2") = objDr("T2").ToString 48 objDt.Rows.Add(objDataRow) 49 50 End While 51 52 53 ListView1.DataSource = objDt 54 ListView1.DataBind() 55 56 Catch ex As Exception 57 Err.Clear() 58 Finally 59 objConn.Close() 60 End Try 61 62 End Using 63 64 End Sub 65 66' キャンセルボタンクリック 67 Protected Sub Cancel_Click(sender As Object, e As EventArgs) Handles Cancel.Click 68 '値のクリア 69 ListView1.Items.Clear() 70 End Sub

にて、
(1)初期画面はテストコード入力欄と検索、クリアボタンの表示(これはできました)
(2)テストコードを入力して検索ボタンをクリックして結果を表示する(これは表示されました)
(3)[キャンセル」ボタンクリックして、(1)の検索結果が表示されていない状態にしたいです。
(3)の検索結果が表示されたデータを「キャンセル」ボタンを押した際、
<asp:ListView ID="ListView1" runat="server">
の値をクリア(削除)したく「ListView1.Items.Clear()」としたのですが、
画面から値が消えずにいます。

(1)と(2)はできたのですが(3)がどうすればできるのか悩んでいます。
どうしたら画面から消す事ができるでしょうか?

どなたかご教授宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/07/20 05:18 編集

それでは情報が少なくて何をしているのかわかりません。問題を再現できる必要最低限のサンプルコードで良いので、全体をアップしてください。 加えて、やりたいことのシナリオ・ストーリーも書いてください。初期画面は何を表示したいのか、[検索]ボタンクリックで何がしたいのか、[キャンセル」ボタンクリックで何がしたいのか。 もう一つ、開発環境(OS, .NET Framework, Visual Studio のバージョンなど)も書いてください。
kumakumatan

2020/07/20 05:57

ありがとうございます。 質問を修正しましたので、宜しくお願い致します。
退会済みユーザー

退会済みユーザー

2020/07/20 06:38

.aspx.vb のコードもアップしてください。[検索]ボタンクリックでデータを取得して ListView にデータバインドしてますよね? DB を使っているなら、それば何かとバージョン・エディションも追記願います。
退会済みユーザー

退会済みユーザー

2020/07/20 06:51 編集

そもそも、検索した結果のキャンセル(=初期画面の何も表示されてない状態に戻す?)に何の意味があるのですか? 検索結果が気に入らななければ、条件を変えて再度検索しなおせば済むことだと思いますが? どうしてもというならブラウザの戻るボタンで戻ったらいかが?
kumakumatan

2020/07/20 07:02

そうなのですが、ボタンを押した際にListView の値をクリアする方法があるのかが知りたく ご質問させていただきました。気に入らない訳ではないです。
guest

回答1

0

ベストアンサー

質問のコメント欄で、

そもそも、検索した結果のキャンセル(=初期画面の何も表示されてない状態に戻す?)に何の意味があるのですか? 検索結果が気に入らななければ、条件を変えて再度検索しなおせば済むことだと思いますが? どうしてもというならブラウザの戻るボタンで戻ったらいかが?

・・・と述べた通り、あまり意味のないことだと思います。

上記に対し、質問者さん自身も。、

そうなのですが、ボタンを押した際にListView の値をクリアする方法があるのかが知りたくご質問させていただきました。

・・・とのことですので、単に興味本位的な質問と理解します。

なので、あまり深く考えておらず思い付きレベルですが、以下のような方法が考えられます。

(1) [キャンセル]ボタンクリックで ListView.Visible プロパティを False に設定する。

(2) ListView.EnableViewState プロパティを False にする(予期せぬ副作用があるかも)。

(2) [キャンセル]ボタンクリックで、検索条件に 1 件もヒットしない条件を設定してクエリを投げてデータバインドする。

ちなみに、ListView1.Items.Clear() で表示がそのままで消えないのは、先の[検索]ボタンをクリックの結果が ViewState に保持されており、[キャンセル]ボタンクリックでポストバックされて再描画されるときは ViewState からデータを取得しそれが表示されるからです。

投稿2020/07/20 07:53

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kumakumatan

2020/07/20 08:00

ご丁寧なご回答ありがとうございます。 (1)の[キャンセル]ボタンクリックで ListView.Visible プロパティを False に設定する。 にて「ListView1.Visible = False」にて意図した動きになりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問