今天写的一段控制DataGrid中TextBox宽度(其他属性也行)的代码。
C#的,多加一些判断,也可以控制其他控件的属性,比如ListBox :D
private void dgImage_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
System.Web.UI.WebControls.TextBox tb;
int intLength;
if(e.Item.ItemType==ListItemType.EditItem)
{
//循环所有单元
for(int i=0; i<e.Item.Cells.Count-1;i++)
{
//单元内是否有控件
if(e.Item.Cells[i].Controls.Count>0)
{
//如果是TextBox控件
if(e.Item.Cells[i].Controls[0].GetType().ToString()=="System.Web.UI.WebControls.TextBox")
{
tb = (TextBox)e.Item.Cells[i].Controls[0];
intLength = 0;
intLength = tb.Text.Length;
intLength = intLength * 7;
if(intLength==0) intLength=20;
tb.Width = intLength;
tb.CssClass="DataGridTextBox"; //你的CSS样式表名称
//下面可以设置TextBox其他属性
}
}
}
}
}
C#的,多加一些判断,也可以控制其他控件的属性,比如ListBox :D
private void dgImage_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
System.Web.UI.WebControls.TextBox tb;
int intLength;
if(e.Item.ItemType==ListItemType.EditItem)
{
//循环所有单元
for(int i=0; i<e.Item.Cells.Count-1;i++)
{
//单元内是否有控件
if(e.Item.Cells[i].Controls.Count>0)
{
//如果是TextBox控件
if(e.Item.Cells[i].Controls[0].GetType().ToString()=="System.Web.UI.WebControls.TextBox")
{
tb = (TextBox)e.Item.Cells[i].Controls[0];
intLength = 0;
intLength = tb.Text.Length;
intLength = intLength * 7;
if(intLength==0) intLength=20;
tb.Width = intLength;
tb.CssClass="DataGridTextBox"; //你的CSS样式表名称
//下面可以设置TextBox其他属性
}
}
}
}
}