如何解决 Column 'Policy_No' does not belongs to table?
How to solve Column 'Policy_No' does not belong to table?
我有一个简单的界面,它有一个文本框、按钮和一个网格视图。单击按钮时,我想在 gridview 中显示数字。但是我得到一个 ArgumentException 说 "Column 'Policy_No' does not belong to table"。我该怎么做才能解决它。在这里,我添加了下面的代码。
按钮点击事件
protected void btnAdd_Click(object sender, EventArgs e)
{
dt = new DataTable();
dr = dt.NewRow();
dr["Policy_No"] = txtPolicy.Text.Trim();
dt.Rows.Add(dr);
grdPolicy.DataSource = dt;
grdPolicy.DataBind();
}
页面加载代码
protected void Page_Load(object sender, EventArgs e)
{
dt = new DataTable();
dt.Columns.Add(new DataColumn("Policy_No", typeof(string)));
if (!IsPostBack)
{
loadCompetitionsNames();
}
}
您正在 btnAdd_Click
中创建 new DataTable
而没有 column
Policy_No
protected void btnAdd_Click(object sender, EventArgs e)
{
//dt = new DataTable(); Remove this line
dr = dt.NewRow();
dr["Policy_No"] = txtPolicy.Text.Trim();
dt.Rows.Add(dr);
grdPolicy.DataSource = dt;
grdPolicy.DataBind();
Session["PolicyTable"] = dt;
}
protected void Page_Load(object sender, EventArgs e)
{
if(Session["PolicyTable"] !=null)
dt = Session["PolicyTable"] as DataTable;
else
dt = new DataTable();
if (!dt.Columns.Contains("Policy_No"))
dt.Columns.Add(new DataColumn("Policy_No", typeof(string)));
if (!IsPostBack)
{
loadCompetitionsNames();
}
}
在按钮点击事件中添加列定义
public DataTable GetGridData()
{
dt = new DataTable();
dt.Columns.Add(new DataColumn("Policy_No", typeof(string)));
dr = dt.NewRow();
dr["Policy_No"] = txtPolicy.Text.Trim();
dt.Rows.Add(dr);
return dt;
}
protected void btnAdd_Click(object sender, EventArgs e)
{
grdPolicy.DataSource = GetGridData();
grdPolicy.DataBind();
}
从页面加载中删除 dt(DataTable) 的初始化
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
loadCompetitionsNames();
}
}
您可以使用会话在页面回传上保留 dt 数据
我有一个简单的界面,它有一个文本框、按钮和一个网格视图。单击按钮时,我想在 gridview 中显示数字。但是我得到一个 ArgumentException 说 "Column 'Policy_No' does not belong to table"。我该怎么做才能解决它。在这里,我添加了下面的代码。
按钮点击事件
protected void btnAdd_Click(object sender, EventArgs e)
{
dt = new DataTable();
dr = dt.NewRow();
dr["Policy_No"] = txtPolicy.Text.Trim();
dt.Rows.Add(dr);
grdPolicy.DataSource = dt;
grdPolicy.DataBind();
}
页面加载代码
protected void Page_Load(object sender, EventArgs e)
{
dt = new DataTable();
dt.Columns.Add(new DataColumn("Policy_No", typeof(string)));
if (!IsPostBack)
{
loadCompetitionsNames();
}
}
您正在 btnAdd_Click
中创建 new DataTable
而没有 column
Policy_No
protected void btnAdd_Click(object sender, EventArgs e)
{
//dt = new DataTable(); Remove this line
dr = dt.NewRow();
dr["Policy_No"] = txtPolicy.Text.Trim();
dt.Rows.Add(dr);
grdPolicy.DataSource = dt;
grdPolicy.DataBind();
Session["PolicyTable"] = dt;
}
protected void Page_Load(object sender, EventArgs e)
{
if(Session["PolicyTable"] !=null)
dt = Session["PolicyTable"] as DataTable;
else
dt = new DataTable();
if (!dt.Columns.Contains("Policy_No"))
dt.Columns.Add(new DataColumn("Policy_No", typeof(string)));
if (!IsPostBack)
{
loadCompetitionsNames();
}
}
在按钮点击事件中添加列定义
public DataTable GetGridData()
{
dt = new DataTable();
dt.Columns.Add(new DataColumn("Policy_No", typeof(string)));
dr = dt.NewRow();
dr["Policy_No"] = txtPolicy.Text.Trim();
dt.Rows.Add(dr);
return dt;
}
protected void btnAdd_Click(object sender, EventArgs e)
{
grdPolicy.DataSource = GetGridData();
grdPolicy.DataBind();
}
从页面加载中删除 dt(DataTable) 的初始化
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
loadCompetitionsNames();
}
}
您可以使用会话在页面回传上保留 dt 数据