要说正确是不是哪,下面的肯定正确: 当你按编辑时,更改长度 Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound If e.Item.ItemType = ListItemType.EditItem Then Dim box As TextBox Dim x As Integer For x = 2 To 7'更改第2,3列等 box = CType(e.Item.Cells(x).Controls(0), TextBox) If x = 2 Or x = 5 Or x = 6 Then box.Width = Unit.Pixel(55) ElseIf x = 3 Then box.Width = Unit.Pixel(65) ElseIf x = 4 Then box.Width = Unit.Pixel(190) Else box.Width = Unit.Pixel(50) End If Next End If End Sub
DataGrid1.Columns[1].ItemStyle.Width=Unit.Pixel(150);
<asp:TemplateColumn>
<ItemStyle Width="15px"></ItemStyle>
<ItemTemplate>
<img src="/nutrition/images/icon.gif" hspace="3">
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
当你按编辑时,更改长度
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
If e.Item.ItemType = ListItemType.EditItem Then
Dim box As TextBox
Dim x As Integer
For x = 2 To 7'更改第2,3列等
box = CType(e.Item.Cells(x).Controls(0), TextBox)
If x = 2 Or x = 5 Or x = 6 Then
box.Width = Unit.Pixel(55)
ElseIf x = 3 Then
box.Width = Unit.Pixel(65)
ElseIf x = 4 Then
box.Width = Unit.Pixel(190)
Else
box.Width = Unit.Pixel(50) End If
Next
End If
End Sub