c# - 我想在页面加载事件中从数据表向 gridview 添加列:
问题描述
我尝试从数据表向gridview添加列(我从sql数据库填充它),我对其进行了调试,我的网格视图有列,但在web端它根本不显示我的网格视图。
SqlConnection conn = new SqlConnection(
new SqlConnectionStringBuilder()
{
DataSource = "HOSEIN-PC",
InitialCatalog = "project Grid",
UserID = "sa",
Password = "fast"
}.ConnectionString);
conn.Open();
//ستون جدول
string SqlString = string.Format(@"select *
from tbl_data ");
SqlDataAdapter sda = new SqlDataAdapter(SqlString, conn);
DataTable dt = new DataTable();
sda.Fill(dt);
//GridView1.DataSource = dt;
//GridView1.DataBind();
for (int i = 0; i < dt.Rows.Count; i++)
{
BoundField c = new BoundField();
//GridView1.Columns.Add(dt.Rows[i]["DATA"].ToString());
// it doesnt work in webform so i try boundfield
c.HeaderText = dt.Rows[i]["DATA"].ToString();
c.DataField = dt.Rows[i]["ID"].ToString();
GridView1.Columns.Add(c);
}
GridView1.DataBind();
conn.Close();
似乎没有问题我在网格视图中有列......唯一的问题是当我执行它时,它不会在网页端显示网格视图。
解决方案
我在下面尝试过
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class WebForm3 : System.Web.UI.Page
{
string customColumn = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
customColumn = "AAA";
}
protected void Button1_Click(object sender, EventArgs e)
{
DataTable table = new DataTable();
table.Columns.Add("Dosage", typeof(int));
table.Columns.Add("Drug", typeof(string));
table.Columns.Add("Patient", typeof(string));
table.Columns.Add("Date", typeof(DateTime));
// Here we add five DataRows.
table.Rows.Add(25, "Indocin", "David", DateTime.Now);
table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);
table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);
table.Rows.Add(21, "Combivent", "Janet", DateTime.Now);
table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);
//Add new column in gridview if its not set true for autogenerare columns
//BoundField test = new BoundField();
//test.DataField = "Country";
//test.HeaderText = "Country";
//GridView1.Columns.Add(test);
//add new column for your custom variable to datasource
table.Columns.Add(new DataColumn("Country"));
GridView1.DataSource = table;
GridView1.DataBind();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//putting data in column Conditionaly
if (Convert.ToDateTime(e.Row.Cells[3].Text)<DateTime.Now)
{
e.Row.Cells[4].Text = customColumn;
}
}
}
}
}
推荐阅读
- android - 如何从 Threadpool 执行器获取回调以完成 JobService
- python - 如何在张量流中找到张量和/或运算的输出?(或“tensorflow op.outputs 仅指向自身”)
- arduino - ESP8266 HTTP 客户端连接失败
- c++ - 使用键盘 qt 移动对象
- node.js - 谷歌分析步骤从 API 获取每页的浏览量
- c# - Safari 12 中的硒元素位置
- typescript - 从对象中提取打字稿签名到接口中
- android - CMake构建工具链中“strip”命令的Android NDK路径变量
- tensorflow - keras.layers.Conv2D 的默认内核大小、零填充和步幅是多少?
- javascript - 使用 jquery 中另一个复选框的名称设置文本的值