コード例 #1
0
        /// <summary>
        /// Handles the Update event of the grdFields control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="T:System.Web.UI.WebControls.DataGridCommandEventArgs"/> instance containing the event data.</param>
        public void grdFields_Update(object sender, DataGridCommandEventArgs e)
        {
            CheckBox     chkVisible    = (CheckBox)e.Item.Cells[1].Controls[1];
            TextBox      txtFieldTitle = (TextBox)e.Item.Cells[2].Controls[1];
            DropDownList cboFieldType  = (DropDownList)e.Item.Cells[3].Controls[1];

            if (txtFieldTitle.Text.Length != 0)
            {
                UserDefinedTableDB objUserDefinedTable = new UserDefinedTableDB();

                if (int.Parse(grdFields.DataKeys[e.Item.ItemIndex].ToString()) == -1)
                {
                    objUserDefinedTable.AddUserDefinedField(ModuleID, txtFieldTitle.Text, chkVisible.Checked, cboFieldType.SelectedItem.Value);
                }
                else
                {
                    objUserDefinedTable.UpdateUserDefinedField(int.Parse(grdFields.DataKeys[e.Item.ItemIndex].ToString()), txtFieldTitle.Text, chkVisible.Checked, cboFieldType.SelectedItem.Value);
                }

                grdFields.EditItemIndex = -1;
                BindData();
            }
            else
            {
                grdFields.EditItemIndex = -1;
                BindData();
            }
        }
コード例 #2
0
        /// <summary>
        /// Binds the data.
        /// </summary>
        /// <param name="blnInsertField">if set to <c>true</c> [BLN insert field].</param>
        protected void BindData(bool blnInsertField)
        {
            UserDefinedTableDB objUserDefinedTable = new UserDefinedTableDB();
            SqlDataReader      dr = objUserDefinedTable.GetUserDefinedFields(ModuleID);

            DataSet ds;

            ds = ConvertDataReaderToDataSet(dr);

            // inserting a new field
            if (blnInsertField)
            {
                DataRow row;
                row = ds.Tables[0].NewRow();
                row["UserDefinedFieldID"] = "-1";
                row["FieldTitle"]         = string.Empty;
                row["Visible"]            = true;
                row["FieldType"]          = "String";
                ds.Tables[0].Rows.InsertAt(row, 0);
                grdFields.EditItemIndex = 0;
            }

            grdFields.DataSource = ds;
            grdFields.DataBind();
        }
コード例 #3
0
        /// <summary>
        /// Handles the Delete event of the grdFields control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="T:System.Web.UI.WebControls.DataGridCommandEventArgs"/> instance containing the event data.</param>
        public void grdFields_Delete(object sender, DataGridCommandEventArgs e)
        {
            UserDefinedTableDB objUserDefinedTable = new UserDefinedTableDB();

            objUserDefinedTable.DeleteUserDefinedField(int.Parse(grdFields.DataKeys[e.Item.ItemIndex].ToString()));

            grdFields.EditItemIndex = -1;
            BindData();
        }
        /// <summary>
        /// XMLs the data view.
        /// </summary>
        /// <returns></returns>
        private DataView XmlDataView()
        {
            UserDefinedTableDB objUserDefinedTable = new UserDefinedTableDB();
            DataSet            ds;

            ds = objUserDefinedTable.GetUserDefinedRows(ModuleIDsrc());

            // create a dataview to process the sort and filter options
            return(new DataView(ds.Tables[0]));
        }
コード例 #5
0
        /// <summary>
        /// The DeleteBtn_Click event handler on this Page is used to delete
        /// a row. It uses the Rainbow.UserDefinedTableDB() data component to
        /// encapsulate all data functionality.
        /// </summary>
        /// <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        override protected void OnDelete(EventArgs e)
        {
            // Calling base we check if the user has rights on deleting
            base.OnUpdate(e);

            if (UserDefinedRowID != -1)
            {
                UserDefinedTableDB objUserDefinedTable = new UserDefinedTableDB();
                objUserDefinedTable.DeleteUserDefinedRow(UserDefinedRowID);
            }

            // Redirect back to the portal home page
            this.RedirectBackToReferringPage();
        }
コード例 #6
0
        /// <summary>
        /// The Page_Load event on this Page is used to ...
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        private void Page_Load(object sender, EventArgs e)
        {
            if (!(Request.Params["UserDefinedRowID"] == null))
            {
                UserDefinedRowID = Int32.Parse(Request.Params["UserDefinedRowID"].ToString());
            }

            BuildTable();

            if (Page.IsPostBack == false)
            {
                if (UserDefinedRowID != -1)
                {
                    Control            tb;
                    UserDefinedTableDB objUserDefinedTable = new UserDefinedTableDB();
                    SqlDataReader      dr = objUserDefinedTable.GetSingleUserDefinedRow(UserDefinedRowID, ModuleID);
                    try
                    {
                        while (dr.Read())
                        {
                            tb = tblFields.FindControl(dr["FieldTitle"].ToString());
                            if (tb != null)
                            {
                                if (tb.GetType() == typeof(TextBox))
                                {
                                    ((TextBox)tb).Text = dr["FieldValue"].ToString();
                                }
                                if (tb.GetType() == typeof(DropDownList))
                                {
                                    if (((DropDownList)tb).Items.Count > 0)
                                    {
                                        try{ ((DropDownList)tb).Items.FindByValue(dr["FieldValue"].ToString()).Selected = true; }
                                        catch { ((DropDownList)tb).Items[0].Selected = true; }
                                    }
                                }
                            }
                        }
                    }
                    finally
                    {
                        dr.Close();
                    }
                }
                else
                {
                    this.deleteButton.Visible = false;
                }
            }
        }
コード例 #7
0
        /// <summary>
        /// Handles the Move event of the grdFields control.
        /// </summary>
        /// <param name="source">The source of the event.</param>
        /// <param name="e">The <see cref="T:System.Web.UI.WebControls.DataGridCommandEventArgs"/> instance containing the event data.</param>
        public void grdFields_Move(object source, DataGridCommandEventArgs e)
        {
            UserDefinedTableDB objUserDefinedTable = new UserDefinedTableDB();

            switch (e.CommandArgument.ToString())
            {
            case "Up":
                objUserDefinedTable.UpdateUserDefinedFieldOrder(int.Parse(grdFields.DataKeys[e.Item.ItemIndex].ToString()), -1);
                BindData();
                break;

            case "Down":
                objUserDefinedTable.UpdateUserDefinedFieldOrder(int.Parse(grdFields.DataKeys[e.Item.ItemIndex].ToString()), 1);
                BindData();
                break;
            }
        }
        /// <summary>
        /// Binds the grid.
        /// </summary>
        protected void BindGrid()
        {
            UserDefinedTableDB objUserDefinedTable = new UserDefinedTableDB();

            string strSortField = string.Empty;
            string strSortOrder = string.Empty;

            SqlDataReader dr;

            if (ViewState["SortField"].ToString().Length != 0 && ViewState["SortOrder"].ToString().Length != 0)
            {
                strSortField = ViewState["SortField"].ToString();
                strSortOrder = ViewState["SortOrder"].ToString();
            }
            else
            {
                if (Settings["SortField"].ToString().Length != 0)
                {
                    strSortField = Settings["SortField"].ToString();
                }

                if (Settings["SortOrder"].ToString().Length != 0)
                {
                    strSortOrder = Settings["SortOrder"].ToString();
                }
                else
                {
                    strSortOrder = "ASC";
                }
            }

            grdData.Columns.Clear();

            dr = objUserDefinedTable.GetUserDefinedFields(ModuleID);
            try
            {
                while (dr.Read())
                {
                    DataGridColumn colField = null;
                    if (dr["FieldType"].ToString() == "Image")
                    {
                        colField = new BoundColumn();
                        ((BoundColumn)colField).DataField        = dr["FieldTitle"].ToString();
                        ((BoundColumn)colField).DataFormatString = "<img src=\"" + ((SettingItem)Settings["ImagePath"]).FullPath + "/{0}" + "\" alt=\"{0}\" border =0>";
                    }
                    else if (dr["FieldType"].ToString() == "File")
                    {
                        colField = new HyperLinkColumn();
                        ((HyperLinkColumn)colField).DataTextField               = dr["FieldTitle"].ToString();
                        ((HyperLinkColumn)colField).DataTextFormatString        = "{0}";
                        ((HyperLinkColumn)colField).DataNavigateUrlFormatString = ((SettingItem)Settings["DocumentPath"]).FullPath + "/{0}";
                        ((HyperLinkColumn)colField).DataNavigateUrlField        = dr["FieldTitle"].ToString();
                    }
                    else
                    {
                        colField = new BoundColumn();
                        ((BoundColumn)colField).DataField = dr["FieldTitle"].ToString();
                        switch (dr["FieldType"].ToString())
                        {
                        case "DateTime":
                            //Changed to Italian format as it is sayed to be the default (see intro of history.txt)
                            //Better would be to make this follow the current culture - Rob Siera, 15 jan 2005
                            ((BoundColumn)colField).DataFormatString = "{0:dd MMM yyyy}";
                            break;

                        case "Int32":
                            ((BoundColumn)colField).DataFormatString = "{0:#,###,##0}";
                            colField.HeaderStyle.HorizontalAlign     = HorizontalAlign.Right;
                            colField.ItemStyle.HorizontalAlign       = HorizontalAlign.Right;
                            break;

                        case "Decimal":
                            ((BoundColumn)colField).DataFormatString = "{0:#,###,##0.00}";
                            colField.HeaderStyle.HorizontalAlign     = HorizontalAlign.Right;
                            colField.ItemStyle.HorizontalAlign       = HorizontalAlign.Right;
                            break;
                        }
                    }

                    colField.HeaderText = dr["FieldTitle"].ToString();
                    if (dr["FieldTitle"].ToString() == strSortField)
                    {
                        //  2004/07/04 by Ozan Sirin, FIX: It does not show sort images when running root site instead of rainbow virtual folder.
                        if (strSortOrder == "ASC")
                        {
                            colField.HeaderText += "<img src='" + Path.WebPathCombine(Path.ApplicationRoot, "DesktopModules/UserDefinedTable/sortascending.gif") + "' border='0' alt='" + General.GetString("USERTABLE_SORTEDBY", "Sorted By", null) + " " + strSortField + " " + General.GetString("USERTABLE_INASCORDER", "In Ascending Order", null) + "'>";
                        }
                        else
                        {
                            colField.HeaderText += "<img src='" + Path.WebPathCombine(Path.ApplicationRoot, "DesktopModules/UserDefinedTable/sortdescending.gif") + "' border='0' alt='" + General.GetString("USERTABLE_SORTEDBY", "Sorted By", null) + " " + strSortField + " " + General.GetString("USERTABLE_INDSCORDER", "In Descending Order", null) + "'>";
                        }
                    }
                    colField.Visible        = bool.Parse(dr["Visible"].ToString());
                    colField.SortExpression = dr["FieldTitle"].ToString() + "|ASC";

                    grdData.Columns.Add(colField);
                }
            }
            finally
            {
                dr.Close();
            }

            if (IsEditable)
            {
                HyperLinkColumn hc = new HyperLinkColumn();
                hc.Text = "Edit";
                hc.DataNavigateUrlField        = "UserDefinedRowID";
                hc.DataNavigateUrlFormatString = HttpUrlBuilder.BuildUrl("~/DesktopModules/CommunityModules/UserDefinedTable/UserDefinedTableEdit.aspx", PageID, "&mID=" + ModuleID + "&UserDefinedRowID={0}");
                grdData.Columns.Add(hc);
            }

            DataSet ds;

            ds = objUserDefinedTable.GetUserDefinedRows(ModuleID);

            // create a dataview to process the sort and filter options
            DataView dv;

            dv = new DataView(ds.Tables[0]);

            // sort data view
            if (strSortField.Length != 0 && strSortOrder.Length != 0)
            {
                dv.Sort = strSortField + " " + strSortOrder;
            }

            grdData.DataSource = dv;
            grdData.DataBind();
        }
コード例 #9
0
        /// <summary>
        /// The UpdateBtn_Click event handler on this Page is used to either
        /// create or update a row. It uses the Rainbow.UserDefinedTableDB()
        /// data component to encapsulate all data functionality.
        /// </summary>
        /// <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        protected override void OnUpdate(EventArgs e)
        {
            // Calling base we check if the user has rights on updating
            base.OnUpdate(e);

            UserDefinedTableDB objUserDefinedTable = new UserDefinedTableDB();
            bool   ValidInput = true;
            string strMessage = string.Empty;

            SqlDataReader dr = objUserDefinedTable.GetUserDefinedFields(ModuleID);

            try
            {
                while (dr.Read())
                {
                    //if ( Request.Form[prefix + dr["FieldTitle"]] != null && Request.Form[prefix + dr["FieldTitle"]].ToString().Length != 0 )
                    if (Request.Form[prefix + dr["FieldTitle"]] != null)
                    {
                        switch (dr["FieldType"].ToString())
                        {
                        case "Int32":
                            try
                            {
                                int obj = int.Parse(Request.Form[prefix + dr["FieldTitle"].ToString()]);
                            }
                            catch
                            {
                                strMessage += "<br>" + dr["FieldTitle"].ToString() + " " + General.GetString("UDT_VALIDINTEGER", "must contain a valid integer value");
                                ValidInput  = false;
                            }
                            break;

                        case "Decimal":
                            try
                            {
                                Decimal obj = Decimal.Parse(Request.Form[prefix + dr["FieldTitle"].ToString()]);
                            }
                            catch
                            {
                                strMessage += "<br>" + dr["FieldTitle"].ToString() + " " + General.GetString("UDT_VALIDDECIMAL", "must contain a valid decimal value");
                                ValidInput  = false;
                            }
                            break;

                        case "DateTime":
                            try
                            {
                                DateTime obj = DateTime.Parse(Request.Form[prefix + dr["FieldTitle"].ToString()]);
                            }
                            catch
                            {
                                strMessage += "<br>" + dr["FieldTitle"].ToString() + " " + General.GetString("UDT_VALIDDATE", "must contain a valid date value");
                                ValidInput  = false;
                            }
                            break;

                        case "Boolean":
                            try
                            {
                                bool obj = bool.Parse(Request.Form[prefix + dr["FieldTitle"].ToString()]);
                            }
                            catch
                            {
                                strMessage += "<br>" + dr["FieldTitle"].ToString() + " " + General.GetString("UDT_VALIDBOOLEAN", "must contain a valid true/false value");
                                ValidInput  = false;
                            }
                            break;
                        }
                    }
                }
            }
            finally
            {
                dr.Close();
            }

            if (ValidInput)
            {
                if (UserDefinedRowID == -1)
                {
                    UserDefinedRowID = objUserDefinedTable.AddUserDefinedRow(ModuleID, out UserDefinedRowID);
                }

                dr = objUserDefinedTable.GetUserDefinedFields(ModuleID);
                try
                {
                    while (dr.Read())
                    {
                        string fieldValue = Request.Form[prefix + dr["FieldTitle"].ToString()];

                        if (dr["FieldType"].ToString() == "File" || dr["FieldType"].ToString() == "Image")
                        {
                            HtmlInputFile fileControl = (HtmlInputFile)Page.FindControl(prefix + dr["FieldTitle"].ToString() + "_Upload");
                            if (fileControl.PostedFile.ContentLength > 0)
                            {
                                fieldValue = fileControl.PostedFile.FileName.Substring(fileControl.PostedFile.FileName.LastIndexOf("\\") + 1);

                                string pathToSave = string.Empty;

                                if (dr["FieldType"].ToString() == "Image")
                                {
                                    pathToSave = Server.MapPath(((SettingItem)moduleSettings["ImagePath"]).FullPath) + "\\";
                                }
                                else
                                {
                                    pathToSave = Server.MapPath(((SettingItem)moduleSettings["DocumentPath"]).FullPath) + "\\";
                                }

                                try
                                {
                                    fileControl.PostedFile.SaveAs(pathToSave + fieldValue);
                                }
                                catch (DirectoryNotFoundException ex)
                                {
                                    // If the directory is not found, create and then save
                                    Directory.CreateDirectory(pathToSave);
                                    //System.IO.File.Delete(pathToSave + fieldValue);
                                    fileControl.PostedFile.SaveAs(pathToSave + fieldValue);

                                    //This line is here to supress the warning
                                    ex.ToString();
                                }
                            }
                        }

                        objUserDefinedTable.UpdateUserDefinedData(UserDefinedRowID, int.Parse(dr["UserDefinedFieldID"].ToString()), fieldValue);
                    }
                }
                finally
                {
                    dr.Close();
                }

                objUserDefinedTable.UpdateUserDefinedRow(UserDefinedRowID);

                // Redirect back to the portal home page
                this.RedirectBackToReferringPage();
            }
            else
            {
                lblMessage.Text = strMessage;
            }
        }
コード例 #10
0
        /// <summary>
        /// Builds the table.
        /// </summary>
        private void BuildTable()
        {
            UserDefinedTableDB objUserDefinedTable = new UserDefinedTableDB();
            TableRow           objRow;
            TableCell          objCell;

            SqlDataReader dr = objUserDefinedTable.GetUserDefinedFields(ModuleID);

            try
            {
                while (dr.Read())
                {
                    objRow = new TableRow();

                    objCell = new TableCell();
                    objCell.Controls.Add(new LiteralControl(dr["FieldTitle"].ToString() + ":"));
                    objCell.CssClass = "SubHead";
                    objRow.Cells.Add(objCell);

                    objCell = new TableCell();
                    switch (dr["FieldType"].ToString())
                    {
                    case "String":
                    {
                        TextBox objTextBox = new TextBox();
                        objTextBox.ID       = dr["FieldTitle"].ToString();
                        objTextBox.Columns  = 50;
                        objTextBox.Rows     = 5;
                        objTextBox.TextMode = TextBoxMode.MultiLine;
                        objTextBox.CssClass = "NormalTextBox";
                        objCell.Controls.Add(objTextBox);
                    }
                    break;

                    case "File":
                    case "Image":
                    {
                        DropDownList imageList = new DropDownList();
                        imageList.ID = dr["FieldTitle"].ToString();
                        //add a default empty entry
                        imageList.Items.Add(new ListItem("[---------------------------]", string.Empty));


                        HtmlInputFile fileInputBox = new HtmlInputFile();
                        fileInputBox.ID   = dr["FieldTitle"].ToString() + "_Upload";
                        fileInputBox.Size = 30;


                        string    pathToFiles = string.Empty;
                        string [] fileArray   = new string[0];

                        if (dr["FieldType"].ToString() == "Image")
                        {
                            // get the path to the files
                            pathToFiles = Server.MapPath(((SettingItem)moduleSettings["ImagePath"]).FullPath) + "\\";
                            // retrieving a list of files for the dropdownbox
                            fileArray = IOHelper.GetFiles(pathToFiles, "*.jpg;*.png;*.gif");

                            //set the accept variable on the input element
                            fileInputBox.Attributes.Add("accept", "image/*");
                        }
                        else
                        {
                            // get the path to the files
                            pathToFiles = Server.MapPath(((SettingItem)moduleSettings["DocumentPath"]).FullPath) + "\\";
                            // retrieving a list of files for the dropdownbox
                            fileArray = IOHelper.GetFiles(pathToFiles, "*.*");
                        }

                        //now fill the dropdown box
                        foreach (string entry in fileArray)
                        {
                            imageList.Items.Add(entry.Substring(entry.LastIndexOf("\\") + 1));
                        }
                        imageList.DataBind();

                        imageList.Attributes.Add("onChange", dr["FieldTitle"].ToString() + "_Upload.value='';");
                        objCell.Controls.Add(imageList);

                        objCell.Controls.Add(new LiteralControl("&nbsp;"));

                        fileInputBox.Attributes.Add("onChange", dr["FieldTitle"].ToString() + ".selectedIndex=0;");
                        objCell.Controls.Add(fileInputBox);
                    }
                    break;

                    default:
                    {
                        TextBox objTextBox = new TextBox();
                        objTextBox.ID       = dr["FieldTitle"].ToString();
                        objTextBox.Columns  = 50;
                        objTextBox.CssClass = "NormalTextBox";
                        objCell.Controls.Add(objTextBox);
                    }
                    break;
                    }


                    objRow.Cells.Add(objCell);

                    tblFields.Rows.Add(objRow);
                }
            }
            finally
            {
                dr.Close();
            }
        }