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>"); }
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); }
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>"); } }
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); }