object o = ViewState ["RepeatColumns"];
return (o == null) ? 0 : (int) o;
}
- set { ViewState ["RepeatColumns"] = value; }
+ set {
+ if (value < 0)
+ throw new ArgumentOutOfRangeException ("value", "RepeatColumns value has to be 0 for 'not set' or > 0.");
+
+ ViewState ["RepeatColumns"] = value;
+ }
}
#if ONLY_1_1
{
DoItem (i, type, d, databind);
if (SeparatorTemplate != null)
- DoItem (i - 1, ListItemType.Separator, null, databind);
+ DoItem (i, ListItemType.Separator, null, databind);
}
if (useDataSource) {
idx = 0;
+#if NET_2_0
+ if (IsBoundUsingDataSourceID)
+ ds = GetData();
+ else
+#endif
ds = DataSourceResolver.ResolveDataSource (DataSource, DataMember);
keys = DataKeysArray;
keys.Clear ();
// not kept (directly) in the DataList ViewState
return new TableStyle ();
#else
- return new TableStyle (ViewState);
+ TableStyle tableStyle = new TableStyle (ViewState);
+ tableStyle.CellSpacing = 0;
+ return tableStyle;
#endif
}
case ListItemType.SelectedItem:
case ListItemType.EditItem:
int index = item.ItemIndex;
- if (SelectedIndex == index)
- t = SelectedItemTemplate;
- else if (EditItemIndex == index)
+ if ((EditItemIndex == index) && (EditItemTemplate != null))
t = EditItemTemplate;
+ else if ((SelectedIndex == index) && (SelectedItemTemplate != null))
+ t = SelectedItemTemplate;
else if (((index & 1) == 0) || (alternatingItemTemplate == null))
t = ItemTemplate;
else
protected override void LoadViewState (object savedState)
{
object[] state = (object[]) savedState;
+#if NET_2_0
+ base.LoadViewState (state [8]);
+#else
base.LoadViewState (state [0]);
+#endif
if (state [1] != null)
ItemStyle.LoadViewState (state [1]);
if (state [2] != null)
case ListItemType.AlternatingItem:
if (alt == null) {
if (alternatingItemStyle != null) {
- alt = new Style ();
+ alt = new TableItemStyle ();
alt.CopyFrom (itemStyle);
alt.CopyFrom (alternatingItemStyle);
} else {
ApplyControlStyle (item, alt);
break;
case ListItemType.EditItem:
- item.MergeStyle (editItemStyle);
- ApplyControlStyle (item, editItemStyle);
+ if (editItemStyle != null) {
+ item.MergeStyle (editItemStyle);
+ ApplyControlStyle (item, editItemStyle);
+ } else {
+ item.MergeStyle (itemStyle);
+ ApplyControlStyle (item, itemStyle);
+ }
break;
case ListItemType.Footer:
if (!ShowFooter) {
}
break;
case ListItemType.Separator:
- ApplyControlStyle (item, separatorStyle);
+ if (separatorStyle != null) {
+ item.MergeStyle(separatorStyle);
+ ApplyControlStyle (item, separatorStyle);
+ }
+ else {
+ item.MergeStyle (itemStyle);
+ ApplyControlStyle (item, itemStyle);
+ }
break;
}
}
#endif
override void RenderContents (HtmlTextWriter writer)
{
+ if (Items.Count == 0)
+ return;
+
RepeatInfo ri = new RepeatInfo ();
ri.RepeatColumns = RepeatColumns;
ri.RepeatDirection = RepeatDirection;
ri.RepeatLayout = RepeatLayout;
+ ri.CaptionAlign = CaptionAlign;
+ ri.Caption = Caption;
+ ri.UseAccessibleHeader = UseAccessibleHeader;
/*
// debugging stuff that I prefer to keep for a while
Console.WriteLine ("RepeatColumns {0}", ri.RepeatColumns);