读书人

大家看看动态加入控件用了绝对位置

发布时间: 2012-01-12 22:11:58 作者: rapoo

大家看看,动态加入控件,用了绝对位置,可是会重叠在了一起,可是位置设置的时候是分开的阿,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了。
[解决办法]
看得好好累

读书人网 >asp.net

热点推荐