CS0029:无法将类型'System.Data.DataTable'隐式转换为'System.Web.UI.WebControls.Table' [英] CS0029: Cannot implicitly convert type 'System.Data.DataTable' to 'System.Web.UI.WebControls.Table'
本文介绍了CS0029:无法将类型'System.Data.DataTable'隐式转换为'System.Web.UI.WebControls.Table'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
此代码与Gridview相关,当重新调整表格给出错误时
This code related to Gridview when retun table give error
protected void imgBtnSearch_Click(object sender, ImageClickEventArgs e)
{
try
{
if (Page.IsValid)
{
BindGrid();
}
}
catch (Exception ex)
{
lblMessage.Text = ex.Message;
lblMessage.Visible = true;
}
}
private Table GetData()
{
SearchParivarDO objSearchParivarDO = new SearchParivarDO();
SearchParivarBLL objSearchParivarBLL = new SearchParivarBLL();
DataTable dt = new DataTable();
int Language;
//objSearchParivarDO.FatherHusbandName=txt
//objSearchParivarDO.WardID=int.Parse(txtWard.Text);
//objSearchParivarDO.HouseNo = txtHouse.Text.Trim();
objSearchParivarDO.MemberName = txtName.Text.Trim();
if (Session["MyCulture"].ToString() == "en-GB")
Language = 1;
else
Language = 2;
if (txtWard.Text.Trim() != string.Empty)
{
objSearchParivarDO.WardID = int.Parse(txtWard.Text.Trim());
}
if (txtHouse.Text.Trim() != string.Empty)
{
objSearchParivarDO.HouseNo = txtHouse.Text;
}
//if (txtBirthDateFrom.Text.Trim() != string.Empty)
//{
// objSearchParivarDO.BirthDateFrom = DateTime.Parse(txtBirthDateFrom.Text.Trim()).ToString("dd/MMM/yyyy", BasePage.Culture);
//}
// objSearchParivarDO.ChildName = txtChildName.Text.Trim();
return objSearchParivarBLL.SearchParivarDetails(objSearchParivarDO, Language).Tables[0];
}
private void BindGrid()
{
DataTable dt = GetData();
if (dt.Rows.Count == 0)
{
dt.Rows.Add(dt.NewRow());
gvParivarDetails.DataSource = dt;
gvParivarDetails.DataBind();
int ColumnCount = gvParivarDetails.Rows[0].Cells.Count;
gvParivarDetails.Rows[0].Cells.Clear();
gvParivarDetails.Rows[0].Cells.Add(new TableCell());
gvParivarDetails.Rows[0].Cells[0].ColumnSpan = ColumnCount;
gvParivarDetails.Rows[0].Cells[0].HorizontalAlign = HorizontalAlign.Center;
gvParivarDetails.Rows[0].Cells[0].Text = "No Record Found";
gvParivarDetails.Rows[0].Cells[0].CssClass = "message";
}
else
{
gvParivarDetails.DataSource = dt;
gvParivarDetails.DataBind();
}
if (Session["UserID"] == null)
{
gvParivarDetails.Columns[10].Visible = false;
}
}
错误就行:
The error is on the line:
return objSearchParivarBLL.SearchParivarDetails(objSearchParivarDO, Language).Tables[0];
代码块整理出来 - OriginalGriff [/ edit]
at the end of the GetData
method
[edit]Code block sorted out - OriginalGriff[/edit]
推荐答案
嗯,是的...你试图返回DataTable
来自声明为返回表
的方法。
更改
Well, yes...you are trying to return aDataTable
from a method declared as returning aTable
.
Change
private Table GetData()
要
To
private DataTable GetData()
这篇关于CS0029:无法将类型'System.Data.DataTable'隐式转换为'System.Web.UI.WebControls.Table'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文