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();
        }
    }
Exemplo n.º 2
0
    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: &nbsp;&nbsp; <b><font color=\"blue\">" + currentFolderDisplay + "</font></b>";
        }
        catch (CustomMessageException cmEx)
        {
            SetErrorMessage(cmEx.Message);
        }
        catch (Exception ex)
        {
            SetErrorMessage("", ex.ToString());
        }
    }