向datagrid中添加了一列按钮列(编辑.更新和取消),但是我用下面的方法,为什么要双击两次编辑按钮才能使该行变为可编辑的??
Private Sub Page_Load
If Not IsPostBack Then
Dim source As String
source = "data ......;"
Dim objConn As New SqlClient.SqlConnection(source)
Dim strSel As String = "select * from Cigarettes"
objConn.Open()
Dim objDataSet As New DataSet
Dim adaPater As New SqlClient.SqlDataAdapter(strSel, objConn)
adaPater.Fill(objDataSet, "Sales")
dgdCigarette.DataSource = objDataSet
dgdCigarette.DataBind()
objConn.Close()
End If
End SubPrivate Sub dgdCigarette_EditCommand
dgdCigarette.EditItemIndex = e.Item.ItemIndex
dgdCigarette.DataBind()
End Sub
请大家指教!!!
还有如何自己定义datagrid中各列的宽度???
Private Sub Page_Load
If Not IsPostBack Then
Dim source As String
source = "data ......;"
Dim objConn As New SqlClient.SqlConnection(source)
Dim strSel As String = "select * from Cigarettes"
objConn.Open()
Dim objDataSet As New DataSet
Dim adaPater As New SqlClient.SqlDataAdapter(strSel, objConn)
adaPater.Fill(objDataSet, "Sales")
dgdCigarette.DataSource = objDataSet
dgdCigarette.DataBind()
objConn.Close()
End If
End SubPrivate Sub dgdCigarette_EditCommand
dgdCigarette.EditItemIndex = e.Item.ItemIndex
dgdCigarette.DataBind()
End Sub
请大家指教!!!
还有如何自己定义datagrid中各列的宽度???
解决方案 »
- 请教编码转换问题?
- 只能在执行 Render()的过程中调用 RegisterForEventValidation
- 一道挺很有难度的SQL面试题,高手帮忙解答下啊,谢谢!在线等答案~~~~~~~~
- Session更新速度慢
- Forms验证问题
- Asp.net如何比较session变量的值和一个常数值相等?
- 难题 ,Gridveiw 里面使用 checkboxlist 的问题
- ASP.NET中的函数怎么用??
- 小問題??
- 问一个OWC10的问题,那位给看看.
- “ 这个标点算不算一个字节??我在做一个新闻发布,在我自己机子上控制的是显示标题最多十个字,运行时“也算做字符了,但怎么传到服务
- 可以这样写么?
AutoGenerateColumns="False">
<HeaderStyle Font-Bold="True" HorizontalAlign="Center" BackColor="#ADC3FF"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="AcctNo" ReadOnly="True" HeaderText="Account #">
<ItemStyle Width="100px"></ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="Account Name">
<ItemStyle Width="150px"></ItemStyle>
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "AcctName") %>' ID="lblName"/>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" id="edit_Name" MaxLength="50" Width="145px" Text='<%# DataBinder.Eval(Container.DataItem, "AcctName") %>'/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Account Address">
<ItemStyle Width="250px"></ItemStyle>
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "AcctAddress") %>' ID="lblAddress"/>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" id="edit_Address" Width="245px" Text='<%# DataBinder.Eval(Container.DataItem, "AcctAddress") %>'/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Update" CancelText="Cancel" EditText="Edit">
<ItemStyle Width="50px"></ItemStyle>
</asp:EditCommandColumn>
<asp:TemplateColumn>
<ItemStyle Width="50px"></ItemStyle>
<ItemTemplate>
<asp:LinkButton id="lbtnDelete" CommandName="Delete" runat="server">Delete</asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
Private Sub dgdAccount_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgdAccount.EditCommand
Me.dgdAccount.EditItemIndex = e.Item.ItemIndex
BindGrid()
End Sub
把你再pageload中的联结和绑定,写在一个sub中,如BindGrid()
然后datagrid的事件都可以到用这个函数了列的宽度可以在ItemStyle中设置
datagrid中的行数是由数据库中的记录数决定的,请问我能不能向datagrid中添加新的行啊???请指教!!!!