【问题标题】:Binding Data table to a Grid View in a method在方法中将数据表绑定到网格视图
【发布时间】:2014-11-28 07:01:54
【问题描述】:

我有一个网格视图如下:

<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 编写任何方法吗?

如何赋值?

【问题讨论】:

    标签: c# asp.net gridview data-binding datatable


    【解决方案1】:

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

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

    问题可能是指令 Page 上的属性,属性 CodeBehind Inherits。你可以这样控制

    文件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中全名的类

    【讨论】:

    • 这说明 gvPopUpModifiedFiles 在当前上下文中不存在。
    • 你能发布所有页面吗?
    • 请发布例外情况
    • 当我写这个 gvPopUpModifiedFiles 时,它用红线标记,因为它在当前上下文中不存在
    • 有时候是IDE的问题,你试过重启VS吗?
    猜你喜欢
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多