------datagrid的问题------

Powerliang 2004-11-01 07:06:55
向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 Sub

Private Sub dgdCigarette_EditCommand
dgdCigarette.EditItemIndex = e.Item.ItemIndex
dgdCigarette.DataBind()
End Sub
请大家指教!!!
还有如何自己定义datagrid中各列的宽度???
...全文
77 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Powerliang 2004-11-02
  • 打赏
  • 举报
回复
To:Megres(北斗家族)
datagrid中的行数是由数据库中的记录数决定的,请问我能不能向datagrid中添加新的行啊???请指教!!!!
Megres 2004-11-01
  • 打赏
  • 举报
回复
再edit 事件中,需要重新连一次数据库,所以dgdCigarette.DataBind()是不行的
把你再pageload中的联结和绑定,写在一个sub中,如BindGrid()
然后datagrid的事件都可以到用这个函数了

列的宽度可以在ItemStyle中设置
Megres 2004-11-01
  • 打赏
  • 举报
回复
<asp:datagrid id="dgdAccount" Width="600px" runat="server" Font-Size="Smaller" AllowPaging="True"
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

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧