今天寫的一段控制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其他屬性
}
}
}
}
}