【问题标题】:GridView - Third row is not selectableGridView - 第三行不可选择
【发布时间】:2017-02-24 10:43:45
【问题描述】:

我有一个 Gridview 控件,即使数据源中有三行,您也只能选择前两行。

<asp:GridView CssClass="gridview" ID="gvBucket" runat="server" DataKeyNames="ID" PageSize="13" OnPageIndexChanging="gvBucket_PageIndexChanging" ShowHeader="False" 
AutoGenerateColumns="false" AllowPaging="true">
     <Columns>
         <asp:TemplateField>
             <ItemTemplate>
                 <asp:Label ID="lblID" runat="server" Visible="false" Text='<%#Eval("ID") %>' />
                 <asp:LinkButton ID="lnkBtnShowContentDetail" runat="server" Text='<%#Eval("Name") %>' CommandName="Select" OnClick="lnkBtnName_Click" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
    <PagerStyle CssClass="gridview-pager"></PagerStyle>
    <SelectedRowStyle CssClass="gvSelectedRow" />
</asp:GridView>

代码如下...

List<Entity> data = _manager.GetAllBuckets("All");
if (data != null)
{
    gvBucket.DataSource = data;
    gvBucket.DataBind();

读取数据库返回3个实体

为什么第三行不可选?

谢谢

【问题讨论】:

  • 您是否检查了每行具有不同 id 的 html 呈现的页面?
  • 我只看到html中的两行。
  • 如果 html 中只有两行,那么 _manager.GetAllBuckets("All") 未返回您预期的第 3 项。
  • 使用相关的 GridView / HTML Table 渲染更新您的原始帖子,或者更好地使用完整的 ASPX 页面标记和 C# 代码。
  • 能不能把_manager.GetAllBuckets("All");换成静态数据再调试?如果还是不行,能否把静态数据源的项目上传到Git(我们不想建数据库)

标签: asp.net gridview


【解决方案1】:

确保第 3 行(所有行)在“ID”字段中具有唯一值 ()。

【讨论】:

    猜你喜欢
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-15
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多