comment Filtrer webgrid dans mvc4 basé sur la zone de texte de saisie et dropdownList d'entrée
Je suis encore dans la courbe d'apprentissage de mvc4 . Je sais comment faire pour lier un webgrid dans mvc4 . Mais mon doute est quelqu'un peut-il partager de moi l'idée de comment lier webgrid basé sur des conditions de filtre de zone de texte d'entrée et de dropdownList d'entrée. Pour exemple : Si la zone de texte a une date "11/15/2013" et dropdownList a le médecin du nom de "Charles", alors j'ai besoin de le montrer dans gridview la liste des patients qui a rendez-vous avec le médecin de " charles ", "11/15/2013" .
code
<div id="gridContent">
@grid.GetHtml(
fillEmptyRows: true,
tableStyle: "webGrid",
alternatingRowStyle: "alternate-row",
headerStyle: "grid-header",
footerStyle: "grid-footer",
mode: WebGridPagerModes.All,
firstText: "<< First",
previousText: "< Prev",
nextText: "Next >",
lastText: "Last >>",
columns: new[] {
grid.Column("PatientID"),
grid.Column("PatientName"),
grid.Column("Age"),
grid.Column("DOB"),
grid.Column("Sex"),
grid.Column("Phone"),
grid.Column("Mobile"),
grid.Column("City"),
grid.Column("PinCode"),
//grid.Column("Dr_Remarks",header:"Remarks",style:"left"),
//grid.Column("Dr_Add1",
// header: "Bed Count",style:"right"
//),
grid.Column("",
header: "Actions",
format: @<text>
@Html.ActionLink("Edit", "EditPatient", new { id = item.PatientID }, htmlAttributes: new { @class = "link" })
|
@Html.ActionLink("Delete", "PatientList", new { id = item.PatientID },
htmlAttributes: new { @class = "link", onclick = "return confirm('Are you sure you wish to delete this record?');" })
</text>
)
})
</div>
**controller**
public ActionResult PatientList(int page = 1, string sort = "Dr_Id", string sortDir = "ASC", int id = 0)
{
if (id != 0)
{
bool isDelete = false;
isDelete = rdm_Patient.DeletePatient(id);
return View(GetPatient(page, sort, sortDir));
}
else
{
return View(GetPatient(page, sort, sortDir));
}
}
private PatientPageViewModel GetPatient(int page = 1, string sort = "Dr_Id", string sortDir = "ASC")
{
const int patientPerPage = 5;
var numPatient = rdm_Patient.CountPatient();
sortDir = sortDir.Equals("desc", StringComparison.CurrentCultureIgnoreCase) ? sortDir : "asc";
var validColumns = new[] { "PatientID", "PatientName" };
if (!validColumns.Any(c => c.Equals(sort, StringComparison.CurrentCultureIgnoreCase)))
sort = "PatientID";
var doctors = rdm_Patient.getpatientpage(page, patientPerPage, "it." + sort + " " + sortDir);
var data = new PatientPageViewModel()
{
numberOfPatient = numPatient,
patientPerPage = patientPerPage,
Patient = doctors,
};
return data;
}
OriginalL'auteur Murugappan | 2013-11-15
Vous devez vous connecter pour publier un commentaire.
Consulter Ce Lien Qui Peut Vous Aider.
http://www.authorcode.com/filtering-records-in-webgrid-using-dropdownlist-in-mvc/
Un lien n'est pas une réponse, stackoverflow.com/help/deleted-answers
OriginalL'auteur Zaheer
Que je comprends de votre question, vous avez besoin de filtrage dans votre WebGrid qui ne comprennent pas les outils pour le réaliser. Ainsi, vous devez le faire manuellement.
Vous devez prendre en compte les points suivants:
Jose M. Aguilar dans son post décrit toutes les étapes qui peuvent vous aider à concevoir votre point de vue et le contrôleur.
OriginalL'auteur Abbas Amiri
OriginalL'auteur cgbhinklji