У меня есть один источник данных, я должен получить 10 записей, но он показывает только 5 записей (sl № 5-10). Я использую выпадающий список. В моем выпадающем списке есть 2 списка. При выборе другого элемента в раскрывающемся списке снова отображается 5 записей. Я хочу показать «записи 10». Несмотря на то, что есть 100 записей, это не показывает 10 записей. При нажатии 25 записей отображается «(6 - 25) 20 записей». Существует некоторая проблема для каждого цикла в теле таблицы
<div class="row">
<div class="col-xs-12">
<div class="box">
<div class="box-header">
<h5>
Select Water Tank:
<select id="ddlPir">
<option value="28" selected="selected">K</option>
<option value="f2">
O
</option>
</select>
</h5>
</div>
<!-- /.box-header -->
<div class="box-body">
<div style="overflow:scroll;overflow-y: hidden;">
<table id="listing" class="table table-bordered table-striped table-responsive table-hover">
<tbody>
@foreach (var item in Model.Select((value, i) => new { i, value }))
{
<tr class="tr_@item.value.deviceid">
<td>@(item.i + 1)</td>
<td>@item.value.UpdatedTime</td>
<td>@item.value.filled</td>
<td>@item.value.SensorData</td>
<td>@item.value.battery</td>
<td>@item.value.deviceid</td>
</tr>
}
</tbody>
</table>
</div>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
</div>
<!-- /.col -->
</div>
<script>
$(document).ready(function () {
$("#listing tbody tr").hide();
$("#listing tbody tr.tr_" + $("#ddlPir").val()).show();
$('#ddlPir').change(function () {
$("#listing tbody tr").hide();
$("#listing tbody tr.tr_" + $(this).val()).show();
});
});
</script>
<script>
$(document).ready(function () {
$('#listing').DataTable();
});
</script>
// Model
public class WaterTankViewModel
{
public double filled { get; set; }
public double SensorData { get; set; }
public string UpdatedDate { get; set; }
public string UpdatedTime { get; set; }
public string deviceid { get; set; }
public double battery { get; set; }
}
// Controller
public ActionResult Details()
{
List<WaterTankViewModel> model = new List<WaterTankViewModel>();
model.AddRange(getWaterTankDetails("28", 28.5));
model.AddRange(getWaterTankDetails("f2", 18));
model = model.OrderByDescending(x => DateTime.Parse(x.UpdatedTime)).ToList();
return View(model);
}
private List<WaterTankViewModel> getWaterTankDetails(string deviceID, double height)
{
List<WaterTankViewModel> model = new List<WaterTankViewModel>();
WebRequest req = WebRequest.Create(@"url");
req.Method = "GET";
req.Headers["Authorization"] = "Basic " + "a2Vybm==";
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
var encoding = resp.CharacterSet == "" ? Encoding.UTF8 : Encoding.GetEncoding(resp.CharacterSet);
using (var stream = resp.GetResponseStream())
{
var reader = new StreamReader(stream, encoding);
var responseString = reader.ReadToEnd();
List<WaterTankDetails> Pirs = Newtonsoft.Json.JsonConvert.DeserializeObject<List<WaterTankDetails>>(responseString);
foreach (var item in Pirs)
{
dynamic wt = Newtonsoft.Json.JsonConvert.DeserializeObject(responseString);
byte[] data = Convert.FromBase64String(item.dataFrame.ToString());
string deviceid = deviceID;
WaterTankViewModel TankDetailsModel = new WaterTankViewModel();
TankDetailsModel.deviceid = deviceID;
string hexdata = BitConverter.ToString(data);
string enc = BitConverter.ToString(data).Replace(@"-", string.Empty)
string battery = Convert.ToString(enc.Substring(6, 2));
TankDetailsModel.TankName = "xyz";
TankDetailsModel.deviceid = deviceID;
TankDetailsModel.battery = batteryLevel;
model.Add(TankDetailsModel);
}
}
return model;
}
}