发现一个新的问题
当panel放在table中的话,那么动态添加的控件的left和top属性就不是
相对panel来说的了,而是table那么如何在table中动态添加控件呢?
或者如何是动态添加的控件的left和top属性相对panel?求救!!!!!!!!!
当panel放在table中的话,那么动态添加的控件的left和top属性就不是
相对panel来说的了,而是table那么如何在table中动态添加控件呢?
或者如何是动态添加的控件的left和top属性相对panel?求救!!!!!!!!!
解决方案 »
- 高手介绍几个 asp.net源码网给我----谢谢
- 拷贝之后的问题(大学老师都不会)
- [.Net2.0类]非静态的字段、方法或属性
- div制作网页的时候碰到网页乱掉了,望高手解决。在线等~!~!~!~
- 为什么我的EXCEL文件打开时总是出现“服务器出现意外情况”?
- 求助!小弟跪求答案
- ASP.NET Web 站点高级编程(提出问题-设计方案-解决方案)代码编译出错!签名时加密失败 --“读取密钥文件“\Wrox\Keys\ThePhile.snk”时出
- 请问我用javascript写了一个多级菜单,怎么才能把它变成用户kongjian
- List<List<T>> 泛型怎么添加到集合
- 在IE加载中,怎么避免重复出现“此网站需要运行以下加载项”
- 请教微软专家avptvb和五月份专家榜所有师兄:icyer,yxrj,mbm,andy_123,jackyhx,yellowwee,dreammaster,hgknight,forever_ares,juqiang以及
- 调用SQL存储过程问题 200分
webform table也应该差不多吧。我没试过
newTbx.Style["POSITION"]="relative";
newTbx.Style["POSITION"]="relative";
总是不能按照要求排列使用relative也不行,很乱,排列无序总之都不行乱七八糟的,出现的问题多了烦阿。那个大侠有过成功的例子,指点一下吧
{
Label newLbl;
TextBox newTbx; Admin admin=new Admin();//Admin.cs是我写的一个Class,主要
是负责数据库操作的 int wd=Int32.Parse(MyTable.Rows[0].Cells[0].Width)+Int32.Parse(MyTable.Rows[1].Cells[0].Width);
int ht=Int32.Parse(MyTable.Rows[0].Cells[1].Height)+24;
//wd和ht是我把要添加的控件定位的坐标,这个坐标在表格的单元
个中 SqlDataReader readTbx=admin.GetTextBoxs(typeID);
//admin在上面已经实例化,Admin.cs中有个方法GetTextBoxs,他传
回SqlDataReader,读取的是TextBox的属性 while (readTbx.Read())
{
newTbx=new TextBox();
int tmp;
newTbx.ID=readTbx.GetInt32(0).ToString(); tmp=readTbx.GetInt32(1)+wd;
newTbx.Style["LEFT"]=tmp.ToString()+"px";
tmp=readTbx.GetInt32(2)+ht;
newTbx.Style["TOP"]=tmp.ToString()+"px"; newTbx.Style["POSITION"]="absolute";
newTbx.Width=readTbx.GetInt32(3);
newTbx.Height=readTbx.GetInt32(4);
newTbx.Style["Font-Names"]=readTbx.GetString(5);
newTbx.Style["Font-Size"]=readTbx.GetInt32(6).ToString()+"pt";
newTbx.Style["ForeColor"]=readTbx.GetString(7); //我分别用如下三种方法添加,效果一样
//this.MyPanel.Controls.Add(newTbx);
Page.Controls[1].Controls.Add(newTbx);
//MyTable.Rows[1].Cells[1].Controls.Add(newTbx);
}
//如下是添加Label,同上
SqlDataReader readLbl=admin.GetLabels(typeID); while (readLbl.Read())
{
newLbl=new Label();
int tmp; tmp=readLbl.GetInt32(0)+wd;
newLbl.Style["LEFT"]=tmp.ToString()+"px";
tmp=readLbl.GetInt32(1)+ht;
newLbl.Style["TOP"]=tmp.ToString()+"px"; newLbl.Style["POSITION"]="absolute";
newLbl.Width=readLbl.GetInt32(2);
newLbl.Height=readLbl.GetInt32(3);
newLbl.Text=readLbl.GetString(4);
newLbl.Style["Font-Names"]=readLbl.GetString(5);
newLbl.Style["Font-Size"]=readLbl.GetInt32(6).ToString()+"pt";
newLbl.Style["ForeColor"]=readLbl.GetString(7); //this.MyPanel.Controls.Add(newLbl);
//MyTable.Rows[1].Cells[1].Controls.Add(newLbl);
Page.Controls[1].Controls.Add(newLbl);
}
}
="relative"
不能把Panel设置动态生成的Textbox和Label的容器排列是乱的
添加这个控件:System.Web.UI.WebControls.Literal然后给他的text属性赋值:
MyLiteral.Text="<iframe marginheight=0 marginwidth=1 frameborder=0 width=100% height=100% scrolling=Yes src=./ShowCreate.aspx?strQuery="+strQuery+"&fileid="+e.Item.Cells[1].Text.ToString()+"></iframe>";搞定!!!!!谢谢各位!!