예제 #1
0
        private void DesignRenderGrid(HtmlTextWriter writer,RowCell cell)
        {
            if (Grid == null)
                return;
            StringBuilder tdStart = new StringBuilder();
            StringBuilder style = new StringBuilder();

            if (CssClass != null)
                tdStart.AppendFormat("<td class=\"wggridcell {0}\" ", CssClass);
            else
                tdStart.Append("<td class=\"wggridcell\"");

            if (cell != null && cell.InternalCellSpan > 0)
                tdStart.AppendFormat(" colspan=\"{0}\"", cell.InternalCellSpan);
            if (Rowspan > 1) tdStart.AppendFormat(" rowspan=\"{0}\"", Rowspan);

            if( cell != null )
                tdStart.AppendFormat(" id=\"{0}{1}r{2}\"", Grid.ID, ColumnId, cell.Row.RowIndex);
            else
                tdStart.AppendFormat(" id=\"{0}{1}\"", Grid.ID, ColumnId);

            if (GridAlign != HorizontalPosition.Undefined)
                style.AppendFormat("text-align :{0};", GridAlign);
            else if (Grid.RecordsPerRow > 1) // GUESSING IT IS A PRODUCTLIST OR SOMETHING SIMILAR..
                style.Append("width: 100%;text-align : center;vertical-align:top");

            if (style.Length > 1)
                tdStart.AppendFormat(" style=\"{0}\"", style);

            if (GridVAlign != VerticalPosition.undefined)
                tdStart.AppendFormat(" valign=\"{0}\"", GridVAlign);

            if (cell != null)
            {
                if (!string.IsNullOrEmpty(writer.Grid.OnClientCellClick))
                {
                    ClientCellEventArgs ea = new ClientCellEventArgs
                                                 {
                                                     ColumnId = ColumnId,
                                                     RowIndex = cell.Row.RowIndex,
                                                     Value = cell.Value,
                                                     ClientEventType = ClientEventType.OnClientColumnClick
                                                 };

                    string content = JavaScriptConvert.SerializeObject(ea);
                    writer.Grid.JsOnData.AppendLine();
                    string jsonId = string.Format("{0}r{2}{1}click", Grid.ID, ColumnId, cell.Row.RowIndex).Replace("-",
                                                                                                                   "A");

                    writer.Grid.JsOnData.AppendFormat("{0} = {1}", jsonId, content);

                    tdStart.AppendFormat(@"onclick=""{0}(this,{1});return false""", writer.Grid.OnClientCellClick,
                                         jsonId);
                }
                if (!string.IsNullOrEmpty(writer.Grid.OnClientCellDblClick))
                {
                    ClientCellEventArgs ea = new ClientCellEventArgs
                                                 {
                                                     ColumnId = ColumnId,
                                                     RowIndex = cell.Row.RowIndex,
                                                     Value = cell.Value,
                                                     ClientEventType = ClientEventType.OnClientColumnDblClick
                                                 };

                    string content = JavaScriptConvert.SerializeObject(ea);
                    writer.Grid.JsOnData.AppendLine();
                    string jsonId =
                        string.Format("{0}r{2}{1}dblclick", Grid.ID, ColumnId, cell.Row.RowIndex).Replace("-", "A");

                    writer.Grid.JsOnData.AppendFormat("{0} = {1}", jsonId, content);

                    tdStart.AppendFormat(@"ondblclick=""{0}(this,{1});return false""", writer.Grid.OnClientCellDblClick,
                                         jsonId);
                }
                if (!string.IsNullOrEmpty(writer.Grid.OnClientCellMouseOver))
                {
                    ClientCellEventArgs ea = new ClientCellEventArgs
                                                 {
                                                     ColumnId = ColumnId,
                                                     RowIndex = cell.Row.RowIndex,
                                                     Value = cell.Value,
                                                     ClientEventType = ClientEventType.OnClientColumnMouseOver
                                                 };

                    string content = JavaScriptConvert.SerializeObject(ea);
                    writer.Grid.JsOnData.AppendLine();
                    string jsonId =
                        string.Format("{0}r{2}{1}mouseover", Grid.ID, ColumnId, cell.Row.RowIndex).Replace("-", "A");

                    writer.Grid.JsOnData.AppendFormat("{0} = {1}", jsonId, content);

                    tdStart.AppendFormat(@"onmouseover=""{0}(this,{1});return false""",
                                         writer.Grid.OnClientCellMouseOver, jsonId);
                }
                if (!string.IsNullOrEmpty(writer.Grid.OnClientCellMouseOut))
                {
                    ClientCellEventArgs ea = new ClientCellEventArgs
                                                 {
                                                     ColumnId = ColumnId,
                                                     RowIndex = cell.Row.RowIndex,
                                                     Value = cell.Value,
                                                     ClientEventType = ClientEventType.OnClientColumnMouseOut
                                                 };

                    string content = JavaScriptConvert.SerializeObject(ea);
                    writer.Grid.JsOnData.AppendLine();
                    string jsonId =
                        string.Format("{0}r{2}{1}mouseout", Grid.ID, ColumnId, cell.Row.RowIndex).Replace("-", "A");

                    writer.Grid.JsOnData.AppendFormat("{0} = {1}", jsonId, content);

                    tdStart.AppendFormat(@"onmouseout=""{0}(this,{1});return false""", writer.Grid.OnClientCellMouseOut,
                                         jsonId);
                }
            }
            tdStart.Append(">");

            writer.Write(tdStart);

            if (NonBreaking)
                writer.Write("<span class=\"wgnowrap\">");

            if (AllowEditInGrid)
            {
                if (Grid != null)
                    if (Grid.MasterTable.Columns.Primarykeys == null ||
                        Grid.MasterTable.Columns.Primarykeys.Count == 0)
                        throw new ApplicationException(
                            string.Format(
                                "Using 'AllowEditInGrid' property requires one or more columns in '{0}' to be a primary key.",
                                Grid.ID));
                RenderEditView(writer, cell);
                if (Identity == false && AllowEdit)
                    if (Grid != null) Grid.m_StoredAllowEditInGrid = true;
            }
            else
                RenderLabelView(writer, cell);
            if (NonBreaking)
                writer.Write("</span>");

            writer.Write("</td>");
        }
예제 #2
0
        internal void LabelHtml(string text, HtmlTextWriter writer, RowCell cell)
        {
            if (string.IsNullOrEmpty(PreGridText) == false && m_Grid.DisplayView == DisplayView.Grid)
                writer.Write(PreGridText);
            else if (string.IsNullOrEmpty(PreDetailText) == false && m_Grid.DisplayView == DisplayView.Detail)
                writer.Write(PreDetailText);

            writer.Write(text);

            if (string.IsNullOrEmpty(PostGridText) == false && m_Grid.DisplayView == DisplayView.Grid)
                writer.Write(PostGridText);
            else if (string.IsNullOrEmpty(PostDetailText) == false && m_Grid.DisplayView == DisplayView.Detail)
                writer.Write(PostDetailText);
        }
예제 #3
0
        private void DesignRenderDetail(HtmlTextWriter writer,RowCell cell)
        {
            // 16.10.2004, jorn - Kommenterte ut EditAlign....

            if (Grid.BasicDetailLayout)
                RenderEditView(writer,cell);
            else
            {
                StringBuilder tdStart = new StringBuilder("<td ");

                if (cell != null && cell.InternalCellSpan > 0)
                    tdStart.AppendFormat(" colspan=\"{0}\"", cell.InternalCellSpan);
                if (WidthColumnTitle != Unit.Empty)
                    tdStart.AppendFormat(" width=\"{0}\"", WidthColumnTitle);

                // 16.10.2004, jorn - Det er dataene vi skal aligne, ikke selve input boksen.
                // ja?
                if (ColumnType == ColumnType.GridColumn && EditAlign != HorizontalPosition.Undefined)
                    tdStart.AppendFormat(" align=\"{0}\"", EditAlign);

                if (EditVAlign != VerticalPosition.undefined)
                    tdStart.AppendFormat(" valign=\"{0}\"", EditVAlign);

                if (CssClass != null)
                    tdStart.AppendFormat(" class=\"wgdetailcell {0}\">", CssClass);
                else
                    tdStart.Append(" class=\"wgdetailcell\">");
                writer.Write(tdStart);
                RenderEditView(writer,cell);

                writer.Write("</td>");
            }
        }
예제 #4
0
        internal void EditHtml(string text, HtmlTextWriter writer,RowCell cell)
        {
            string systemMessage = null;
            if (cell.Row != null && Grid.SystemMessage[cell.Row.GetColumnInitKeys(ColumnId)] != null)
                systemMessage = Grid.SystemMessage[cell.Row.GetColumnInitKeys(ColumnId)].Message;

            if (TreeLevel > 0 && Grid.DisplayView == DisplayView.Grid)
            {
                StringBuilder indent = new StringBuilder(string.Empty);
                for (int i = 0; i < TreeLevel; i++)
                    indent.Append(TreeIndentText);
                writer.Write("<span class=\"wgnowrap\">");
                writer.Write(indent);
            }

            if (string.IsNullOrEmpty(PreDetailText) == false && m_Grid.DisplayView == DisplayView.Detail)
                writer.Write(PreDetailText);
            if (string.IsNullOrEmpty(PreGridText) == false && m_Grid.DisplayView == DisplayView.Grid)
                writer.Write(PreGridText);

            if (systemMessage != null && (SystemMessageStyle == SystemMessageStyle.WebGrid) == false)
            {
                string jqueryuicss = "";
                if (m_Grid.IsUsingJQueryUICSSFramework)
                    jqueryuicss = "ui-state-error-text ";
                switch (SystemMessageStyle)
                {
                    case SystemMessageStyle.ColumnLeft:
                        writer.Write("<div class=\"{1}wgsystemmessagetitle\">{0}</div>", systemMessage, jqueryuicss);
                        break;
                    case SystemMessageStyle.ColumnTop:
                        writer.Write("<div class=\"{1}wgsystemmessagetitle\">{0}</div><br/>", systemMessage, jqueryuicss);
                        break;
                }
            }
             /*  if (m_GridViewTemplate != null && m_Grid.DisplayView == DisplayView.Grid)
                writer.Write(RenderGridViewTemplate(cell));
            else if (m_DetailViewTemplate != null && m_Grid.DisplayView == DisplayView.Detail)
                writer.Write(RenderDetailViewTemplate(cell));
            else*/
                writer.Write(text);

            if (systemMessage != null && (SystemMessageStyle == SystemMessageStyle.WebGrid) == false)
            {
                string jqueryuicss = "";
                if (m_Grid.IsUsingJQueryUICSSFramework)
                    jqueryuicss = "ui-state-error-text ";
                switch (SystemMessageStyle)
                {
                    case SystemMessageStyle.ColumnRight:
                        writer.Write("<div class=\"wgsystemmessagetitle\">{0}</div>", systemMessage, jqueryuicss);
                        break;
                    case SystemMessageStyle.ColumnBottom:
                        writer.Write("<br/><div class=\"wgsystemmessagetitle\">{0}</div>", systemMessage, jqueryuicss);
                        break;
                }
            }
            if (TreeLevel > 0 && Grid.DisplayView == DisplayView.Grid)
                writer.Write("</span>");
            if (string.IsNullOrEmpty(PostDetailText) == false && m_Grid.DisplayView == DisplayView.Detail)
                writer.Write(PostDetailText);
            else if (string.IsNullOrEmpty(PostGridText) == false && m_Grid.DisplayView == DisplayView.Grid)
                writer.Write(PostGridText);
        }