📄 repeatinfo.cs
字号:
using System;
namespace System.Web.UI.WebControls
{
/// <summary>
/// Summary description for RepeatInfo.
/// </summary>
public class RepeatInfo
{
private bool outerTableImplied;
private int repeatColumns;
private RepeatDirection repeatDirection;
private RepeatLayout repeatLayout;
public RepeatInfo() : base()
{
this.repeatDirection = RepeatDirection.Vertical;
this.repeatLayout = RepeatLayout.Table;
this.repeatColumns = 0;
this.outerTableImplied = false;
}
private void RenderHorizontalRepeater(
System.Web.UI.HtmlTextWriter writer,
IRepeatInfoUser user, Style controlStyle, WebControl baseControl)
{
int local0;
int local1;
int local2;
WebControl local3;
bool local4;
bool local5;
int local6;
Style local7;
int local8;
Style local9;
Style local10;
int local11;
Style local12;
RepeatLayout local13;
local0 = user.RepeatedItemCount;
local1 = this.repeatColumns;
local2 = 0;
if (local1 == 0)
local1 = local0;
local3 = null;
local4 = false;
local13 = this.repeatLayout;
switch (local13)
{
case RepeatLayout.Table:
local3 = new Table();
local4 = true;
break;
case RepeatLayout.Flow:
local3 = new WebControl(System.Web.UI.HtmlTextWriterTag.Span);
break;
}
local5 = user.HasSeparators;
local3.ID = baseControl.ClientID;
local3.CopyBaseAttributes(baseControl);
local3.ApplyStyle(controlStyle);
local3.RenderBeginTag(writer);
if (user.HasHeader)
{
if (local4)
{
writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Tr);
if (local1 != 1 || local5)
{
local6 = local1;
if (local5)
local6 += local1;
writer.AddAttribute(System.Web.UI.HtmlTextWriterAttribute.Colspan, local6.ToString(System.Globalization.NumberFormatInfo.InvariantInfo));
}
local7 = user.GetItemStyle(0, -1);
if (local7 != null)
local7.AddAttributesToRender(writer);
writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
}
user.RenderItem(ListItemType.Header, -1, this, writer);
if (local4)
{
writer.RenderEndTag();
writer.RenderEndTag();
}
else if (local1 < local0)
writer.WriteFullBeginTag("br");
}
local8 = 0;
while (local8 < local0)
{
if (local4 && local2 == 0)
writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Tr);
if (local4)
{
local9 = user.GetItemStyle(ListItemType.Item, local8);
if (local9 != null)
local9.AddAttributesToRender(writer);
writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
}
user.RenderItem(ListItemType.Item, local8, this, writer);
if (local4)
writer.RenderEndTag();
if (local5 && local8 != local0 - 1)
{
if (local4)
{
local10 = user.GetItemStyle(ListItemType.Separator, local8);
if (local10 != null)
local10.AddAttributesToRender(writer);
writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
}
user.RenderItem(ListItemType.Separator, local8, this, writer);
if (local4)
writer.RenderEndTag();
}
local2++;
if (local2 == local1 || local8 == local0 - 1)
{
if (local4)
writer.RenderEndTag();
else if (local1 < local0)
writer.WriteFullBeginTag("br");
local2 = 0;
}
local8++;
}
if (user.HasFooter)
{
if (local4)
{
writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Tr);
if (local1 != 1 || local5)
{
local11 = local1;
if (local5)
local11 += local1;
writer.AddAttribute(System.Web.UI.HtmlTextWriterAttribute.Colspan, local11.ToString(System.Globalization.NumberFormatInfo.InvariantInfo));
}
local12 = user.GetItemStyle(ListItemType.Footer, -1);
if (local12 != null)
local12.AddAttributesToRender(writer);
writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
}
user.RenderItem(ListItemType.Footer, -1, this, writer);
if (local4)
{
writer.RenderEndTag();
writer.RenderEndTag();
}
}
local3.RenderEndTag(writer);
}
public void RenderRepeater(System.Web.UI.HtmlTextWriter writer,
IRepeatInfoUser user,
Style controlStyle,
WebControl baseControl)
{
if (this.repeatDirection == RepeatDirection.Vertical)
{
this.RenderVerticalRepeater(writer, user, controlStyle, baseControl);
return;
}
this.RenderHorizontalRepeater(writer, user, controlStyle, baseControl);
}
private void RenderVerticalRepeater(System.Web.UI.HtmlTextWriter writer,
IRepeatInfoUser user,
Style controlStyle,
WebControl baseControl)
{
int local0;
int local1;
int local2;
WebControl local3;
bool local4;
bool local5;
int local6;
Style local7;
int local8;
int local9;
int local10;
Style local11;
Style local12;
int local13;
Style local14;
RepeatLayout local15;
local0 = user.RepeatedItemCount;
if (this.repeatColumns == 0 || this.repeatColumns == 1)
{
local1 = 1;
local2 = local0;
}
else
{
local1 = this.repeatColumns;
local2 = local0 + this.repeatColumns - 1 / this.repeatColumns;
if (local2 == 0 && local0 != 0)
{
local2 = 1;
local1 = local0;
}
}
local3 = null;
local4 = false;
if (!(this.outerTableImplied))
{
local15 = this.repeatLayout;
switch (local15)
{
case RepeatLayout.Table:
local3 = new Table();
local4 = true;
break;
case RepeatLayout.Flow:
local3 = new WebControl(System.Web.UI.HtmlTextWriterTag.Span);
break;
}
}
local5 = user.HasSeparators;
if (local3 != null)
{
local3.ID = baseControl.ClientID;
local3.CopyBaseAttributes(baseControl);
local3.ApplyStyle(controlStyle);
local3.RenderBeginTag(writer);
}
if (user.HasHeader)
{
if (local4)
{
writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Tr);
if (local1 != 1)
{
local6 = local1;
if (local5)
local6 += local1;
writer.AddAttribute(System.Web.UI.HtmlTextWriterAttribute.Colspan, local6.ToString(System.Globalization.NumberFormatInfo.InvariantInfo));
}
local7 = user.GetItemStyle(ListItemType.Header, -1);
if (local7 != null)
local7.AddAttributesToRender(writer);
writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
}
user.RenderItem(ListItemType.Header, -1, this, writer);
if (local4)
{
writer.RenderEndTag();
writer.RenderEndTag();
}
else if (!(this.outerTableImplied))
writer.WriteFullBeginTag("br");
}
local8 = 0;
while (local8 < local2)
{
if (local4)
writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Tr);
local9 = 0;
while (local9 < local1)
{
local10 = local8 + local9 * local2;
if (local10 < local0)
{
if (local4)
{
local11 = user.GetItemStyle(ListItemType.Item, local10);
if (local11 != null)
local11.AddAttributesToRender(writer);
writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
}
user.RenderItem(ListItemType.Item, local10, this, writer);
if (local4)
writer.RenderEndTag();
if (local5 && local10 != local0 - 1)
{
if (local1 == 1)
{
if (local4)
{
writer.RenderEndTag();
writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Tr);
}
else
writer.WriteFullBeginTag("br");
}
if (local4)
{
local12 = user.GetItemStyle(ListItemType.Separator, local10);
if (local12 != null)
local12.AddAttributesToRender(writer);
writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
}
if (local10 < local0)
user.RenderItem(ListItemType.Separator, local10, this, writer);
if (local4)
writer.RenderEndTag();
}
}
local9++;
}
if (local4)
writer.RenderEndTag();
else if (local8 != local2 - 1 || user.HasFooter && !(this.outerTableImplied))
writer.WriteFullBeginTag("br");
local8++;
}
if (user.HasFooter)
{
if (local4)
{
writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Tr);
if (local1 != 1)
{
local13 = local1;
if (local5)
local13 += local1;
writer.AddAttribute(System.Web.UI.HtmlTextWriterAttribute.Colspan, local13.ToString(System.Globalization.NumberFormatInfo.InvariantInfo));
}
local14 = user.GetItemStyle(ListItemType.Footer, -1);
if (local14 != null)
local14.AddAttributesToRender(writer);
writer.RenderBeginTag(System.Web.UI.HtmlTextWriterTag.Td);
}
user.RenderItem(ListItemType.Footer, -1, this, writer);
if (local4)
{
writer.RenderEndTag();
writer.RenderEndTag();
}
}
if (local3 != null)
local3.RenderEndTag(writer);
}
public bool OuterTableImplied
{
get
{
return this.outerTableImplied;
}
set
{
this.outerTableImplied = value;
}
}
public int RepeatColumns
{
get
{
return this.repeatColumns;
}
set
{
this.repeatColumns = value;
}
}
public RepeatDirection RepeatDirection
{
get
{
return this.repeatDirection;
}
set
{
this.repeatDirection = value;
}
}
public RepeatLayout RepeatLayout
{
get
{
return this.repeatLayout;
}
set
{
this.repeatLayout = value;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -