大家看看,动态加入控件,用了绝对位置,可是会重叠在了一起,可是位置设置的时候是分开的阿,3天结贴,我的信誉大家看着办
呵呵
---------------------------------
foreach (DataRow row in data.Tables[0].Rows)
{
panel1Name = "panel1 " + row[ "roomid "];
panel2Name = "panel2 " + row[ "roomid "];
Panel panel1 = new Panel();
int width;
int height;
width = Convert.ToInt32(row[ "width "]);
height = Convert.ToInt32(row[ "Height "]);
panel1.ID = panel1Name;
panel1.Width = Unit.Pixel(width);
panel1.Height = Unit.Pixel(height);
int rr,gg,bb;
string color;
color = Convert.ToString(row[ "BackColor "]);
rr = Convert.ToInt32(color.Substring(0, 2), 16);
gg = Convert.ToInt32(color.Substring(2, 2), 16);
bb = Convert.ToInt32(color.Substring(4, 2),16);
panel1.BackColor =System.Drawing.Color.FromArgb(rr,gg,bb);
Panel panel2 = new Panel();
panel2.Controls.Add(panel1);
panel2.ID = panel2Name;
panel2.BackColor = panel1.BackColor;
//string attributes;
//attributes = "position:absolute;left: " + (string)row[ "positionLeft "] + "px;top: " + (string)row[ "positionTop "] + "px; ";
//panel2.Attributes.Add( "style ", attributes);
panel2.Style[ "left "] = (string)row[ "positionLeft "];
panel2.Style[ "top "] = (string)row[ "positionTop "];
panel2.Style[ "position "] = "absolute ";
AjaxControlToolkit.DragPanelExtender DragPanelExtender1 = new AjaxControlToolkit.DragPanelExtender();
DragPanelExtender1.ID = "DragPanelExtender1 " + row[ "roomid "];
DragPanelExtender1.TargetControlID = panel2.ID;
DragPanelExtender1.DragHandleID = panel1.ID;
Button button1 = new Button();
button1.ID = "button1 " + row[ "roomid "];
button1.Text = "Edit ";
button1.Click += new System.EventHandler(this.button1_click);
//button1.Attributes.Add( "onclick ", "button1_click ");
panel2.Controls.Add(button1);
phMap.Controls.Add(panel2);
phMap.Controls.Add(DragPanelExtender1);
}
--------------------------
位置都会粘到一块了,可是如果
在后面加上 HttpContext.Current.Response.Write(“123123”);
就按原来的位置排列了,,,,无敌了,,,
就是说,到后面把原来页面的位置往下挪了一点,又可以显示了,
觉得是页面的刷新的时候,才会把位置重新排列了,,,
大家看看有没有好的解决方案阿
[解决办法]
永远加个空格?
[解决办法]
检查一下客户端的html 是不是与你这个同.
[解决办法]
为什么用绝对?
绝对位置经常出问题 我也不明白
鸥动态加的东西都用TD或者DIV作布局
[解决办法]
偶没有遇到这事
------解决方案--------------------
panel2.Style[ "left "] = (string)row[ "positionLeft "];
panel2.Style[ "top "] = (string)row[ "positionTop "];
panel2.Style[ "position "] = "absolute ";
你这么加我没有成功过。
但是这么加我成功过。
vleft=(string)row[ "positionLeft "];
vtop=(string)row[ "positionTop "];
panel2.Attributes.Add( "style ", "left: "+vleft+ "px; position:absolute; top: "+vtop+ "px ");
[解决办法]
建控件你在什事件中?按?如果不是在OnInit中,因面布局已生,所以可能出不可料的。
[解决办法]
解决了就好!
JF
[解决办法]
你便加一按(服器控件),按了之後能刷新?
[解决办法]
路过看一看……
风过无痕
[解决办法]
顶一下吧.
[解决办法]
也路过看一看……
[解决办法]
up
[解决办法]
滥用panel了。
[解决办法]
看得好好累