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

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

新規登録して質問してみよう
ただいま回答率
85.49%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

0回答

302閲覧

foreach文でデータを取り出そうとすると、全てのデータが取れない。(bootgrid)

ponchoccho

総合スコア17

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

1クリップ

投稿2018/09/27 11:59

編集2018/09/28 05:49

foreach文で全てのデータを持ってきたい。

jQueryのbootgridを使用しています。

発生している問題・エラーメッセージ

下記のソースコードで、更新履歴からデータを取り出そうとすると、
全80件ほどあるデータが、25件ほどまでデータが減ってしまいます。

該当のソースコード

aspx

1<form id="myform" method="post"> 2 <table id="grid-command-buttons" class="table table-condensed table-hover table-striped" <%-- data-toggle="bootgrid"--%>> 3 <thead> 4 <tr> 5 <th data-column-id="date" data-order="desc">更新日時</th> 6 <th data-column-id="id" data-sortable="false">コード</th> 7 <th data-column-id="namae" data-sortable="false">名称</th> 8 <th data-column-id="received" data-sortable="false">割引率</th> 9 <th data-column-id="class">更新区分</th> 10 </tr> 11 </thead> 12 <tbody> 13 <% 14 foreach (var _履歴 in _更新履歴) 15 { 16 %> 17 <tr> 18 <td><%= _履歴["更新日時"] %></td> 19 <td><%= _履歴["コード"] %></td> 20 <td><%= _履歴["コード名"] %></td> 21 <td><%= _履歴["割引率"] %></td> 22 <td><%= _履歴["更新区分"] %></td> 23 </tr> 24 <% 25 } 26 %> 27 </tbody> 28 </table> 29 </form>

C#

1protected List<Dictionary<string, string>> __更新履歴; 2 public List<Dictionary<string, string>> _更新履歴 3 { 4 get 5 { 6 if (__更新履歴 == null) 7 { 8 var parameters = new Dictionary<string, string>(); 9 var _更新履歴_dictionary = new Dictionary<string, string>(); 10 parameters.Add("種別", _LoginContext._種別); 11 var data = new List<Dictionary<string, string>>(); 12 var tempDt = new DataTable(); 13 using (var connection = new SqlConnection(_LoginContext._接続文字列)) 14 { 15 connection.Open(); 16 using (var command = new SqlCommand()) 17 { 18 var method = MethodBase.GetCurrentMethod(); 19 var text = string.Format("/* [{0}.{1}] */", method.DeclaringType, method.Name) + @" 20 DECLARE @種別 INT; SET @種別 = <D:種別>; 21 select 22 更新日時, 23 コード, 24 コード名, 25 割引率, 26 更新区分 27 from 28 更新履歴テーブル 29 order by 30 更新日時 31 "; 32 command.Connection = connection; 33 command.CommandText = hos.Utility.ReplaceSql(text, parameters); 34 command.CommandTimeout = int.Parse(ConfigurationManager.AppSettings["SqlCommandTimeout"]); 35 hos.Utility.SqlLog(Context, command); 36 using (var reader = command.ExecuteReader()) 37 { 38 while (reader.Read()) 39 { 40 var dictionary = new Dictionary<string, string>(); 41 for (var i = 0; i < reader.FieldCount; i++) 42 { 43 var name = reader.GetName(i); 44 var value = reader.GetValue(i).ToString(); 45 dictionary.Add(name, value); 46 } 47 data.Add(dictionary); 48 } 49 } 50 } 51 } 52 __更新履歴 = data; 53 } 54 return __更新履歴; 55 } 56 }

javascript

1var grid = 2 $("#grid-command-buttons").bootgrid({ 3 rowCount: [-1, 10, 25, 50], 4 labels: { 5 infos: "{{ctx.total}}件中 {{ctx.start}} ~ {{ctx.end}}件を表示しています。", 6 loading: "検索中...", 7 noResults: "データがありません", 8 search: "検索" 9 }, 10 formatters: { 11 "commands": function (column, row) { 12 return "<button type=\"button\" class=\"btn btn-xl btn-default command-edit\" data-row-id=\"" + row.id + "\"><span>編集</span></button> " + 13 "<button type=\"button\" class=\"btn btn-xl btn-default command-delete\" data-row-id=\"" + row.id + "\"><span>削除</span></button>"; 14 } 15 } 16 })

試したこと

デバッグで確認したところ、
更新日時,コード,コード名,割引率,更新区分
の5つが全部変更されていた場合に、表示されるように見えた。

「grid-command-buttons」をIDから外すと、使用できたが、
並び替えなどはそれを使用したいので、外したくない。

補足情報(FW/ツールのバージョンなど)

使用
VISUAL STUDIO 2017
jquery 1.10.1
bootstrap 3.2
bootgrid 1.3.1

bootgrid

###追記(9/28 12:40)
aspxに「id="grid-command-buttons"」が入った場合
(JavaScriptのrowCountが [5, 10, 15, 20, -1]と上記とは少し違います、ご了承ください)
イメージ説明

aspxから、「id="grid-command-buttons"」を消した場合
【画像前半】
イメージ説明
(画像中略)
【画像後半】
イメージ説明

上記のように、似たような形では表示されるのですが、
並び替えができなくなる・検索機能などが消えてしまう
と言ったような現象が起きています。

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

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

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

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

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

x_x

2018/09/28 03:29

「「grid-command-buttons」をIDから外すと、使用できた」というのは、bootgridを使えていない状態という意味でしょうか? 表示件数を制限できる機能(rowCount)がありますが、Allにした状態で25件しか出ないということでしょうか?
ponchoccho

2018/09/28 03:41

質問ありがとうございます。言葉だけでは上手く説明が出来なかったので、「追記」で記載致しました。ご確認お願い致します。
Zuishin

2018/09/28 03:51

どう見ても C# の質問ではないのでタグを外してください。ほかの質問も同様です。
ponchoccho

2018/09/28 03:54

失礼致しました、C#外しました。
x_x

2018/09/28 05:27

bootgrid の最新版は1.3.1らしいのですが、別のものを見ていますか?
ponchoccho

2018/09/28 05:44

* jQuery Bootgrid v1.3.1 - 09/11/2015 でした。違うところを見ておりました、申し訳ございません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問