protected void GrdScannedDoc_Sorting(object sender, GridViewSortEventArgs e) { // dont allow sorting if in edit mode if (GrdScannedDoc.EditIndex >= 0) { return; } DataTable dataTable = Session["scanned_doc_data"] as DataTable; if (dataTable != null) { if (Session["scanned_doc_sortexpression"] == null) { Session["scanned_doc_sortexpression"] = ""; } DataView dataView = new DataView(dataTable); string[] sortData = Session["scanned_doc_sortexpression"].ToString().Trim().Split(' '); string newSortExpr = (e.SortExpression == sortData[0] && sortData[1] == "ASC") ? "DESC" : "ASC"; dataView.Sort = e.SortExpression + " " + newSortExpr; Session["scanned_doc_sortexpression"] = e.SortExpression + " " + newSortExpr; GrdScannedDoc.DataSource = dataView; GrdScannedDoc.DataBind(); } }
protected void FillScannedDocGrid() { // Get the list of files & folders in the CurrentFolder DirectoryInfo currentDirInfo = new DirectoryInfo(GetFullyQualifiedFolderPath(this.CurrentFolder)); DirectoryInfo[] folders = currentDirInfo.GetDirectories(); FileInfo[] files = currentDirInfo.GetFiles(); List <FileSystemItemCS> fsItems = new List <FileSystemItemCS>(folders.Length + files.Length); // Add the ".." option, if needed if (!TwoFoldersAreEquivalent(currentDirInfo.FullName, GetFullyQualifiedFolderPath(this.HomeFolder))) { FileSystemItemCS parentFolder = new FileSystemItemCS(currentDirInfo.Parent); parentFolder.Name = ".."; fsItems.Add(parentFolder); } foreach (DirectoryInfo folder in folders) { fsItems.Add(new FileSystemItemCS(folder)); } foreach (FileInfo file in files) { fsItems.Add(new FileSystemItemCS(file)); } GrdScannedDoc.DataSource = fsItems; GrdScannedDoc.DataBind(); string currentFolderDisplay = this.CurrentFolder; if (currentFolderDisplay.StartsWith("~/") || currentFolderDisplay.StartsWith("~\\")) { currentFolderDisplay = currentFolderDisplay.Substring(2); } lblCurrentPath.Text = "Viewing the folder <b>" + currentFolderDisplay + "</b>"; }
// http://www.4guysfromrolla.com/articles/090110-1.aspx #region GrdScannedDoc protected void FillScannedDocGrid() { try { // Get the list of files & folders in the CurrentFolder DirectoryInfo currentDirInfo = new DirectoryInfo(GetFullyQualifiedFolderPath(this.CurrentFolder)); bool currentDirIsHomeFolder = TwoFoldersAreEquivalent(currentDirInfo.FullName, GetFullyQualifiedFolderPath(this.HomeFolder)); if (!currentDirInfo.Exists) // in case the folder has been deleted in another page { throw new CustomMessageException("Could not find directory: " + currentDirInfo.Name); } DirectoryInfo[] folders = currentDirInfo.GetDirectories(); FileInfo[] files = currentDirInfo.GetFiles(); List <FileSystemItemCS> fsItems = new List <FileSystemItemCS>(folders.Length + files.Length); // Add the ".." option, if needed if (!currentDirIsHomeFolder) { FileSystemItemCS parentFolder = new FileSystemItemCS(currentDirInfo.Parent); parentFolder.Name = ".."; fsItems.Add(parentFolder); } Hashtable medicalServiceTypeHash = MedicalServiceTypeDB.GetMedicareServiceTypeHash(); foreach (DirectoryInfo folder in folders) { FileSystemItemCS fileSystemItemCS = new FileSystemItemCS(folder); if (currentDirIsHomeFolder) { fileSystemItemCS.Name = MedicalServiceType.ReplaceMedicareServiceTypeFolders(fileSystemItemCS.Name, medicalServiceTypeHash, true); } fsItems.Add(fileSystemItemCS); } foreach (FileInfo file in files) { fsItems.Add(new FileSystemItemCS(file)); } //GrdScannedDoc.DataSource = fsItems; //GrdScannedDoc.DataBind(); if (fsItems.Count > 0) { GrdScannedDoc.DataSource = fsItems; GrdScannedDoc.DataBind(); } else { fsItems.Add(new FileSystemItemCS()); GrdScannedDoc.DataSource = fsItems; GrdScannedDoc.DataBind(); int TotalColumns = GrdScannedDoc.Rows[0].Cells.Count; GrdScannedDoc.Rows[0].Cells.Clear(); GrdScannedDoc.Rows[0].Cells.Add(new TableCell()); GrdScannedDoc.Rows[0].Cells[0].ColumnSpan = TotalColumns; GrdScannedDoc.Rows[0].Cells[0].Text = "No Files Or Folders Found"; } string currentFolderDisplay = this.CurrentFolder; if (currentFolderDisplay.StartsWith("~/") || currentFolderDisplay.StartsWith("~\\")) { currentFolderDisplay = currentFolderDisplay.Substring(2); } if (currentFolderDisplay.StartsWith("~/") || currentFolderDisplay.StartsWith("~\\")) { currentFolderDisplay = currentFolderDisplay.Substring(2); } currentFolderDisplay = currentFolderDisplay.Substring(this.HomeFolder.Length); if (currentFolderDisplay.StartsWith("\\")) { currentFolderDisplay = currentFolderDisplay.Substring(1); } if (currentFolderDisplay == "") { currentFolderDisplay = "[Root Directory]"; } currentFolderDisplay = MedicalServiceType.ReplaceMedicareServiceTypeFolders(currentFolderDisplay, medicalServiceTypeHash, true); lblCurrentPath.Text = "Viewing Folder: <b><font color=\"blue\">" + currentFolderDisplay + "</font></b>"; } catch (CustomMessageException cmEx) { SetErrorMessage(cmEx.Message); } catch (Exception ex) { SetErrorMessage("", ex.ToString()); } }