/// <summary> /// SavejqGridJson method for converting datatable data to JQGrid data by passing total count,rows of current page. /// </summary> /// <param name="data">DataTable data</param> /// <param name="totalCount">Total count</param> /// <param name="page">current page number</param> /// <param name="rows">Rows count</param> /// <returns>returns JQGrid data</returns> public JQGridDataClass SavejqGridJson(DataTable data, int totalCount, string page, string rows) { int intRows = Math.Min(int.Parse(rows), totalCount); int intPage = int.Parse(page); // jqGrid に渡すデータを格納 JQGridDataClass jqGridData = new JQGridDataClass(); jqGridData.page = page; jqGridData.total = (int)Math.Ceiling((double)totalCount / (double)intRows); // jqGrid の各セルに表示するデータを格納 jqGridData.rows = new List <JQGridDataRowClass>(); for (int rIndex = 0; rIndex < intRows; rIndex++) { // ページなどを考慮し、DataTable から取得する行インデックスを取得 if ((rIndex + 1) > data.Rows.Count) { // 行インデックスが、実際の行数を超えた場合は、ループを抜ける // (最終ページの行数が端数の場合) break; } // jqGrid に表示する、1 行分のデータを格納 JQGridDataRowClass subData = new JQGridDataRowClass(); subData.id = data.Rows[rIndex][0].ToString(); subData.cell = new List <string>(); for (int cIndex = 0; cIndex < data.Columns.Count; cIndex++) { // 列のデータを、DataTable から取得 subData.cell.Add(data.Rows[rIndex][cIndex].ToString()); } jqGridData.rows.Add(subData); } // jqGrid にデータを返す return(jqGridData); }
/// <summary> /// SavejqGridJson method for converting datatable data to JQGrid data by passing total count,rows of current page. /// </summary> /// <param name="data">DataTable data</param> /// <param name="totalCount">Total count</param> /// <param name="page">current page number</param> /// <param name="rows">Rows count</param> /// <returns>returns JQGrid data</returns> public JQGridDataClass SavejqGridJson(DataTable data, int totalCount, string page, string rows) { int intRows = Math.Min(int.Parse(rows), totalCount); int intPage = int.Parse(page); // jqGrid に渡すデータを格納 JQGridDataClass jqGridData = new JQGridDataClass(); jqGridData.page = page; jqGridData.total = (int)Math.Ceiling((double)totalCount / (double)intRows); // jqGrid の各セルに表示するデータを格納 jqGridData.rows = new List<JQGridDataRowClass>(); for (int rIndex = 0; rIndex < intRows; rIndex++) { // ページなどを考慮し、DataTable から取得する行インデックスを取得 if ((rIndex + 1) > data.Rows.Count) { // 行インデックスが、実際の行数を超えた場合は、ループを抜ける // (最終ページの行数が端数の場合) break; } // jqGrid に表示する、1 行分のデータを格納 JQGridDataRowClass subData = new JQGridDataRowClass(); subData.id = data.Rows[rIndex][0].ToString(); subData.cell = new List<string>(); for (int cIndex = 0; cIndex < data.Columns.Count; cIndex++) { // 列のデータを、DataTable から取得 subData.cell.Add(data.Rows[rIndex][cIndex].ToString()); } jqGridData.rows.Add(subData); } // jqGrid にデータを返す return jqGridData; }