c# - 如何通过 Webpart 类连接 GridView 数据源?

标签 c# .net asp.net gridview

我尝试通过使用您知道的 WebPArt 制作 myGridView 组件:

using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.WebControls; 
using System.Web.UI;

namespace MyGridView
{
    public class MyGridView : WebPart
    {
        GridView gv;

        protected override void CreateChildControls()
        {
            gv = new GridView();
            gv.CssClass = "tablestyle";
            this.Controls.Add(gv);
        }
    }
}

我在工具箱上添加了这个 GridView。一切都好。我想将我自己的 CSS 设计添加到我的 GridView 中。但是如果我把这个 gridView 从工具箱拖到 aspx 页面。如果我绑定(bind)我的数据源;数据源是不显示自己的。

像那个主程序:

protected void Page_Load(object sender, EventArgs e)
    {
      LoadData loaddata = new LoadData();
      DataTable  dt = loaddata.LoadSQL("conn", "sp_GetAllCategory");
       MyGridView1.datas....   -----> i can not see DataSource why?
    }

我想查看我的 GridView 数据源。如果我写绑定(bind)数据源。 MyGridView1.DataSource -----> 为什么我看不到 DataSource?

最佳答案

因为需要在控件中添加DataSource; Web 部件默认不支持(basedataboundcontrol 类定义了 DataSource 和 DataBind)。所以你需要添加这个:

public object DataSource
{
   get 
   {
       this.EnsureChildControls();
       return gv.DataSource; 
   }
   set 
   { 
       this.EnsureChildControls();
       gv.DataSource = value; 
   }
}

通常,您必须调用 EnsureChildControls() 以便在包装网格的属性之前创建所有子控件,但我不确定您是否可以访问 EnsureChildControls。我认为是。

关于c# - 如何通过 Webpart 类连接 GridView 数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2358779/

相关文章:

c# - 如何在C#中调整按钮上的图片大小?

c# - 如何在 Winforms/WPF 中创建透明的 ElementHost

c# - 安装 Visual Studio 2017 后重新安装 Visual Studio 2015?

c# - 在c#中调用delphi函数

.net - 在选中验证复选框的情况下将消息发送到私有(private) MSMQ 队列?

C# 'is' 关键字提供了意外的结果

c# - Microsoft.AspNet.Identity.Core 和 Microsoft.AspNetCore.Identity 之间有什么区别?

c# - 如何使用 `Docker.DotNet` 库连接到本地 Docker 服务?

.net - 从 2.0 应用程序引用 3.5 汇编?

c# - 任何人都知道如何进行 List<string> 不区分大小写的比较