Sub UpdateData(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)      Dim TB(2) As TextBox        TB(1) = e.Item.Cells(5).Controls(0)
        TB(2) = e.Item.Cells(6).Controls(0) '注:TB(1).WIDTH=10  这样试了不行。。

解决方案 »

  1.   

    请问楼主怎么在GRID里面加TEXT的,谢谢!
      

  2.   

    在编辑状态下,右键点击DATAGRID,选择编辑相应的模板,直接编辑TEXTBOX的属性,或者通过HTML设置都可以,不需要在程序中设置
      

  3.   

    <asp:TextBox columns=20></asp:TextBox>
      

  4.   

    GRID可以编辑TEXTBOX属性吗,我怎么找不到。
    ------------------------------------------------<asp:datagrid id="MyGrid" runat="server" DataKeyField="编号" OnDeleteCommand="Delete" OnCancelCommand="CancelEdit"
    OnUpdateCommand="UpdateData" OnEditCommand="EditData" CellPadding="2" BorderColor="Black"
    AlternatingItemStyle-BackColor="#FFFFC0" HeaderStyle-BackColor="#AAAADD" AutoGenerateColumns="False"
    HorizontalAlign="Center" Width="100%">
    <SelectedItemStyle Wrap="False" HorizontalAlign="Center"></SelectedItemStyle>
    <EditItemStyle Wrap="False" HorizontalAlign="Center" BackColor="White"></EditItemStyle>
    <AlternatingItemStyle Wrap="False" HorizontalAlign="Center" BackColor="#E0E0E0"></AlternatingItemStyle>
    <ItemStyle Wrap="False" HorizontalAlign="Center" BackColor="White"></ItemStyle>
    <HeaderStyle Font-Bold="True" HorizontalAlign="Center" ForeColor="White" BackColor="Gray"></HeaderStyle>
    <Columns>
    <asp:BoundColumn DataField="编号" ReadOnly="True" HeaderText="编号">
    <HeaderStyle Width="30px"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="上传人" ReadOnly="True" HeaderText="上传人">
    <HeaderStyle Width="70px"></HeaderStyle>
    </asp:BoundColumn>
    <asp:HyperLinkColumn Target="_blank" DataNavigateUrlField="文件名" DataNavigateUrlFormatString="{0}" DataTextField="文件名"
    HeaderText="文件名">
    <HeaderStyle Width="100px"></HeaderStyle>
    </asp:HyperLinkColumn>
    <asp:BoundColumn DataField="备注" ReadOnly="True" HeaderText="备注">
    <HeaderStyle Width="150px"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="时间" ReadOnly="True" HeaderText="时间">
    <HeaderStyle Width="120px"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="赞成票" HeaderText="赞成票">
    <HeaderStyle Width="50px"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="反对票" HeaderText="反对票">
    <HeaderStyle Width="50px"></HeaderStyle>
    </asp:BoundColumn>
    <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" HeaderText="修改" CancelText="取消" EditText="编辑">
    <HeaderStyle Width="50px"></HeaderStyle>
    </asp:EditCommandColumn>
    <asp:ButtonColumn Text="&lt;div id=&quot;de&quot; onclick=&quot;javascript:return confirm('删除?')&quot;&gt;删除&lt;/div&gt;"
    HeaderText="是否删除" CommandName="Delete">
    <HeaderStyle Width="60px"></HeaderStyle>
    </asp:ButtonColumn>
    </Columns>
    <PagerStyle Wrap="False"></PagerStyle>
    </asp:datagrid>
    ==========================================================================  Sub UpdateData(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)        Conn = New OleDbConnection(Provider & ";" & Database)
            Conn.Open()
            Dim TB(2) As TextBox        TB(1) = e.Item.Cells(5).Controls(0)
            TB(2) = e.Item.Cells(6).Controls(0)
            SQL = "Update 主页内容 Set 赞成票=@赞成票, 反对票=@反对票 Where 编号=@Key"        Cmd = New OleDbCommand(SQL, Conn)        Cmd.Parameters.Add(New OleDbParameter("@赞成票", OleDbType.Integer))
            Cmd.Parameters.Add(New OleDbParameter("@反对票", OleDbType.Integer))
            Cmd.Parameters.Add(New OleDbParameter("@Key", OleDbType.Integer))        Cmd.Parameters("@Key").Value = MyGrid.DataKeys(e.Item.ItemIndex)
            Cmd.Parameters("@赞成票").Value = Val(TB(1).Text)
            Cmd.Parameters("@反对票").Value = Val(TB(2).Text)
            Cmd.ExecuteNonQuery()        Conn.Close()        MyGrid.EditItemIndex = -1
            OpenDataBase_And_BindToDataGrid()
        End Sub
      

  5.   

    TB(1).Width = Unit.Pixel(5)不会出错,但是看不到效果啊
      

  6.   

    TB(1).WIDTH=Unit.Pixel(10);你看看位置对不对
      

  7.   

    TO: tianjue0921(天珏)   位置是对的。
      

  8.   

    转换为模板列,就可以在html代码中看到TextBox了,再设定宽度
      

  9.   

    请问什么叫模板列,是不是<asp:templatecolumn
      

  10.   

    右键单击grid 选择 属性生成器 增加一个模板列 确定后回到grid
    右键单击grid 选择 编辑模板列 选中你刚才创建的那个模板列 就可以在上面放你想放的东西了