CS0029:无法将类型'System.Data.DataTable'隐式转换为'System.Web.UI.WebControls.Table' [英] CS0029: Cannot implicitly convert type 'System.Data.DataTable' to 'System.Web.UI.WebControls.Table'

查看:81
本文介绍了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 a DataTable from a method declared as returning a Table.
Change
private Table GetData()






To

private DataTable GetData()


这篇关于CS0029:无法将类型'System.Data.DataTable'隐式转换为'System.Web.UI.WebControls.Table'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆