将数据表绑定到方法中的网格视图

本文关键字:网格 视图 方法 数据表 绑定 | 更新日期: 2023-09-27 18:32:16

我有一个网格视图,如下所示:

<div>
    <asp:Label ID="lblModifiedFilesMessage" runat="server" />
       <asp:GridView ID="gvPopUpModifiedFiles" AutoGenerateColumns="false" CellPadding="0"runat="server">
            <Columns>
            <asp:TemplateField>
            <ItemTemplate>
            <asp:CheckBox ID="chkFileSelect" runat="server" />
            </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField HeaderText="FileName" DataField="FileName" />
            </Columns>
            <HeaderStyle BackColor="#df5015" Font-Bold="true" ForeColor="White" />
            </asp:GridView>
            <asp:Button ID="btnOk" Text="OK" runat="server"
            Font-Bold="true" onclick="btnOk_Click" /><br />
    </div>

我正在尝试以如下方法绑定此网格视图的数据:

private void PopUpModifiedFiles(List<ProjectFile> ModifiedFiles)
{
    this.lblModifiedFilesMessage.Text = "Below files are modified in the Source Server and will be archived with latest version. Please select any files if they are to be retained with older version in archive";
    DataTable dtModifiedFiles = new DataTable();
    dtModifiedFiles.Columns.Add("FileName");
    foreach (ProjectFile modifiedFile in ModifiedFiles)
    {
        DataRow drFileName = dtModifiedFiles.NewRow();
        drFileName["FileName"] = modifiedFile.FileName;
        dtModifiedFiles.Rows.Add(drFileName);
    }
    gvPopUpModifiedFiles.DataSource = dtModifiedFiles;
    gvPopUpModifiedFiles.DataBind();
}

在这里,在将数据表分配给网格视图时,它向我显示了一个错误,因为不包含gvPopUpModifiedFiles的定义。我需要为此gvPopUpModifiedFiles编写任何方法吗?

如何分配值?

将数据表绑定到方法中的网格视图

对于绑定网格,必须在属性 DataSource 上设置 DataTable 并调用方法 DataBind

gvPopUpModifiedFiles.DataSource = dtModifiedFiles;
gvPopUpModifiedFiles.DataBind();

问题可能是指令页面上的属性,属性代码隐藏继承。你可以这样控制

文件 aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="WebApplication4.Index" %>

文件 CS:

namespace WebApplication4
{
    public partial class Index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    }
}

CodeBehind 中的文件 Index.aspx.cs 必须存在,并且 Inherits 属性必须是 CS 中的全名类