📄 toolbar.cs
字号:
resetBorderStyle = true;
}
if ((BorderColor == Color.Empty) && NotExistBorder("color"))
{
Style["border-top-color"] = "#FFFFFF";
Style["border-left-color"] = "#FFFFFF";
Style["border-bottom-color"] = "#999999";
Style["border-right-color"] = "#999999";
resetBorderColor = true;
}
writer.AddAttribute(HtmlTextWriterAttribute.Border, "0");
writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0");
string padding = Util.ExtractNumberString(GetStyle("padding"));
if (padding == String.Empty)
{
writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "1");
}
else
{
writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, padding);
}
AddAttributesToRender(writer);
writer.RenderBeginTag(HtmlTextWriterTag.Table);
writer.RenderBeginTag(HtmlTextWriterTag.Tr);
writer.AddAttribute(HtmlTextWriterAttribute.Valign, "top");
writer.RenderBeginTag(HtmlTextWriterTag.Td);
if (DefaultStyle["border-width"] == null)
{
writer.AddAttribute(HtmlTextWriterAttribute.Border, "1");
}
else
{
writer.AddAttribute(HtmlTextWriterAttribute.Border, DefaultStyle["border-width"]);
}
padding = Util.ExtractNumberString(DefaultStyle["padding"]);
if (padding == String.Empty)
{
writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "1");
}
else
{
writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, padding);
}
writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0");
writer.AddAttribute(HtmlTextWriterAttribute.Style, "border-width:0");
FontInfo font = Font;
string[] names = font.Names;
if (names.Length > 0)
{
string fontNames = String.Empty;
for (int i = 0; i < names.Length; i++)
{
if (i > 0)
{
fontNames += ",";
}
fontNames += names[i];
}
writer.AddStyleAttribute(HtmlTextWriterStyle.FontFamily, fontNames);
}
FontUnit fu = font.Size;
if (!fu.IsEmpty)
{
writer.AddStyleAttribute(HtmlTextWriterStyle.FontSize, fu.ToString(CultureInfo.InvariantCulture));
}
if (font.Bold)
{
writer.AddStyleAttribute(HtmlTextWriterStyle.FontWeight, "bold");
}
if (font.Italic)
{
writer.AddStyleAttribute(HtmlTextWriterStyle.FontStyle, "italic");
}
bool underline = font.Underline;
bool overline = font.Overline;
bool strikeout = font.Strikeout;
string td = String.Empty;
if (underline)
td = "underline";
if (overline)
td += " overline";
if (strikeout)
td += " line-through";
if (td.Length > 0)
writer.AddStyleAttribute(HtmlTextWriterStyle.TextDecoration, td);
writer.RenderBeginTag(HtmlTextWriterTag.Table);
if (Orientation == Orientation.Horizontal)
{
writer.RenderBeginTag(HtmlTextWriterTag.Tr);
}
if (resetBorderWidth)
{
Style.Remove("border-width");
}
if (resetBorderStyle)
{
Style.Remove("border-style");
}
if (resetBorderColor)
{
Style.Remove("border-top-color");
Style.Remove("border-left-color");
Style.Remove("border-bottom-color");
Style.Remove("border-right-color");
}
}
/// <summary>
/// Closes the downlevel table.
/// </summary>
/// <param name="writer">The HtmlTextWriter object that receives the control content.</param>
private void RenderEndTable(HtmlTextWriter writer)
{
if (Orientation == Orientation.Horizontal)
{
writer.RenderEndTag(); // TR
}
writer.RenderEndTag(); // TABLE
writer.RenderEndTag(); // TD
writer.RenderEndTag(); // TR
writer.RenderEndTag(); // TABLE
}
/// <summary>
/// Renders the control for a downlevel browser.
/// </summary>
/// <param name="writer">The HtmlTextWriter object that receives the control content.</param>
protected override void RenderDownLevelPath(HtmlTextWriter writer)
{
writer.WriteLine("<script language=\"javascript\">" + ClientHelperID + ".value='';</script>");
RenderBeginTable(writer, false);
base.RenderDownLevelPath(writer);
RenderEndTable(writer);
}
/// <summary>
/// Renders the control for a visual designer.
/// </summary>
/// <param name="writer">The HtmlTextWriter object that receives the control content.</param>
protected override void RenderDesignerPath(HtmlTextWriter writer)
{
RenderBeginTable(writer, true);
base.RenderDesignerPath(writer);
RenderEndTable(writer);
}
/// <summary>
/// Loads the control's previously saved view state.
/// </summary>
/// <param name="savedState">An object that contains the saved view state values for the control.</param>
protected override void LoadViewState(object savedState)
{
if (savedState != null)
{
object[] state = (object[])savedState;
base.LoadViewState(state[0]);
((IStateManager)Items).LoadViewState(state[1]);
((IStateManager)DefaultStyle).LoadViewState(state[2]);
((IStateManager)HoverStyle).LoadViewState(state[3]);
((IStateManager)SelectedStyle).LoadViewState(state[4]);
#if false
// Databinding
if (!_ClearChildViewState)
{
((IStateManager)Items).LoadViewState(state[4]);
}
#endif
}
}
/// <summary>
/// Saves the changes to the control's view state to an Object.
/// </summary>
/// <returns>The object that contains the view state changes.</returns>
protected override object SaveViewState()
{
object[] state = new object[]
{
base.SaveViewState(),
((IStateManager)Items).SaveViewState(),
((IStateManager)DefaultStyle).SaveViewState(),
((IStateManager)HoverStyle).SaveViewState(),
((IStateManager)SelectedStyle).SaveViewState(),
};
// Check to see if we're really saving anything
foreach (object obj in state)
{
if (obj != null)
{
return state;
}
}
return null;
}
/// <summary>
/// Instructs the control to track changes to its view state.
/// </summary>
protected override void TrackViewState()
{
base.TrackViewState();
((IStateManager)DefaultStyle).TrackViewState();
((IStateManager)HoverStyle).TrackViewState();
((IStateManager)SelectedStyle).TrackViewState();
((IStateManager)Items).TrackViewState();
}
#if false
// Databinding
/// <summary>
/// Creates a ToolbarItem.
/// </summary>
/// <param name="szType">The type to create.</param>
/// <returns>A ToolbarItem.</returns>
private ToolbarItem MakeToolbarItem(string szType)
{
if (szType == null)
{
szType = "button";
}
else
{
szType = szType.ToLower();
}
switch (szType)
{
case "button":
return new ToolbarButton();
case "checkbutton":
return new ToolbarCheckButton();
case "separator":
return new ToolbarSeparator();
case "dropdownlist":
return new ToolbarDropDownList();
case "textbox":
return new ToolbarTextBox();
case "label":
return new ToolbarLabel();
default:
return null;
}
}
/// <summary>
/// Raises the DataBinding event. This notifies a control to perform any data binding logic that is associated with it.
/// </summary>
/// <param name="e">An EventArgs object that contains the event data.</param>
protected override void OnDataBinding(EventArgs e)
{
base.OnDataBinding(e);
if (_DataSource != null)
{
Items.Clear();
_ClearChildViewState = true;
string szCurGroup = String.Empty;
ToolbarCheckGroup group = null;
foreach (Object dataItem in _DataSource)
{
String type = null;
String text = null;
String imageUrl = null;
String selected = null;
String groupname = null;
if (DataTypeField != String.Empty)
type = DataBinder.GetPropertyValue(dataItem, DataTypeField, null);
if (DataTextField != String.Empty)
text = DataBinder.GetPropertyValue(dataItem, DataTextField, null);
if (DataImageUrlField != String.Empty)
imageUrl = DataBinder.GetPropertyValue(dataItem, DataImageUrlField, null);
if (DataSelectedField != String.Empty)
selected = DataBinder.GetPropertyValue(dataItem, DataSelectedField, null);
if (DataGroupnameField != String.Empty)
groupname = DataBinder.GetPropertyValue(dataItem, DataGroupnameField, null);
ToolbarItem item = MakeToolbarItem(type);
if (item == null)
continue;
bool bEndPrevGroup = (group != null);
bool bMakeNewGroup = false;
if (item is ToolbarCheckButton)
{
bEndPrevGroup =
(group != null) &&
((groupname == null) || (groupname != szCurGroup));
bMakeNewGroup = ((groupname != null) && (groupname != szCurGroup));
}
if (bEndPrevGroup)
{
group = null;
szCurGroup = String.Empty;
}
if (bMakeNewGroup)
{
group = new ToolbarCheckGroup();
Items.Add(group);
szCurGroup = groupname;
}
if (group != null)
{
group.Items.Add((ToolbarCheckButton)item);
}
else
{
Items.Add(item);
}
if (item is ToolbarButton)
{
ToolbarButton btn = (ToolbarButton)item;
if (text != null)
btn.Text = text;
if (imageUrl != null)
btn.ImageUrl = imageUrl;
}
if (item is ToolbarLabel)
{
ToolbarLabel label = (ToolbarLabel)item;
if (text != null)
label.Text = text;
if (imageUrl != null)
label.ImageUrl = imageUrl;
}
if (item is ToolbarCheckButton)
{
ToolbarCheckButton btn = (ToolbarCheckButton)item;
if (selected != null)
btn.SetSelected(selected.ToLower() == "true");
}
}
}
}
#endif
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -