点击GridView中的选择按钮时,DetailsView控件中不能显示相应行的数据?

galiton 2007-04-17 04:53:05
点击GridView中的选择按钮时,DetailsView控件中不能显示相应行的数据.请问是什么原因? 谢谢!

代码如下:

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<span style="font-family: 仿宋_GB2312; text-decoration: underline"><strong>工程设置<br />

</strong></span> <br />
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/newsdb.mdb"
SelectCommand="SELECT [Id], [Projectname], [Remark] FROM [project]" >
</asp:AccessDataSource>

<asp:AccessDataSource ID="AccessDataSource2" runat="server" DataFile="~/newsdb.mdb"
SelectCommand="SELECT [Id], [Projectname], [Remark] FROM [project]" FilterExpression="id='@id'" >
<FilterParameters>
<asp:ControlParameter Name="id" ControlID="gridview1" PropertyName="selectedvalue" />
</FilterParameters>
</asp:AccessDataSource>

<asp:GridView ID="GridView1" runat="server" DataKeyNames="Id" DataMember="DefaultView"
DataSourceID="AccessDataSource1" CellPadding="4" ForeColor="#333333" GridLines="None" PageSize="20" AutoGenerateColumns="False"
>
<Columns>
<asp:BoundField DataField="Id" HeaderText="序号" ReadOnly="True" SortExpression="Id" />
<asp:BoundField DataField="Projectname" HeaderText="工程名称" SortExpression="Projectname" />
<asp:BoundField DataField="Remark" HeaderText="备注" SortExpression="Remark" />
<asp:CommandField ShowEditButton="True" ButtonType="Button" >
<HeaderStyle Width="80px" />
</asp:CommandField>
<asp:CommandField ShowDeleteButton="True" ButtonType="Button" >
<HeaderStyle Width="40px" />
</asp:CommandField>
<asp:CommandField ShowSelectButton="True" SortExpression="Id" />
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#EFF3FB" />
<EditRowStyle BackColor="#2461BF" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
<br />
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
DataKeyNames="Id" DataMember="DefaultView" DataSourceID="AccessDataSource2" EnablePagingCallbacks="True" >
<Fields>
<asp:BoundField DataField="Id" HeaderText="Id" ReadOnly="True" SortExpression="Id" />
<asp:BoundField DataField="Projectname" HeaderText="Projectname" SortExpression="Projectname" />
<asp:BoundField DataField="Remark" HeaderText="Remark" SortExpression="Remark" />
</Fields>
</asp:DetailsView>
</asp:Content>
...全文
282 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
galiton 2007-04-17
  • 打赏
  • 举报
回复
我知道怎么写了,
但是很奇怪,我用的是一个DataSource,也必须在GridView的SelectedIndexChanged写代码才能实现,这是为什么?

是不是因为我用了master架构?
galiton 2007-04-17
  • 打赏
  • 举报
回复
麻烦给出代码,谢谢.
interboy 2007-04-17
  • 打赏
  • 举报
回复
如果共用一个DataSource那就不用写代码,否则就需要在GridView的SelectedIndexChanged根据选中的行的关键字来更新DetailsView

62,046

社区成员

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

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

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

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