+2006-03-22 Vladimir Krasnov <vladimirk@mainsoft.com>
+
+ * DataList.cs: fixed RepeatColumns property, added value validation
+ in PrepareControlHierarchy method fixed style applying for
+ AlternatingItem, EditItem and Separator item
+ fixed RenderContents method, if no items exist, no nned to
+ render emty table strructure.
+
2006-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* CompareValidator.cs: when searching for the control to compare, use
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
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;