发现一个新的问题
当panel放在table中的话,那么动态添加的控件的left和top属性就不是
相对panel来说的了,而是table那么如何在table中动态添加控件呢?
或者如何是动态添加的控件的left和top属性相对panel?求救!!!!!!!!!
当panel放在table中的话,那么动态添加的控件的left和top属性就不是
相对panel来说的了,而是table那么如何在table中动态添加控件呢?
或者如何是动态添加的控件的left和top属性相对panel?求救!!!!!!!!!
解决方案 »
- 纯散分200(另外,如果有对AJAX感兴趣的,烦请留下您使用的AJAX框架)
- 进来看看这种字符怎么替换
- 字符串转换C#对象???
- 什么是事件数据?
- 做网页中frame和控件的问题
- 批量导入导出数据,并对数据做小修改,有什么好方法,请高手帮帮忙!
- 受不了拉,1433端口探测不到,服务器不存在那个经典的错误...
- 我真服了有没有人帮我看看!!!关于GridView
- 页面权限的问题,防止对aspx和静态页面的盗链,分不够再加!
- 怎样将DataSet中的数据整批导出到Excel文件?
- 请教微软专家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>";搞定!!!!!谢谢各位!!