Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何验证我的数据表是否为空_C#_Asp.net - Fatal编程技术网

C# 如何验证我的数据表是否为空

C# 如何验证我的数据表是否为空,c#,asp.net,C#,Asp.net,您好,我已经用1按钮填充了我的数据表,下一个按钮2将把我的数据表发送到excel,所以我用C#和asp.net做的是: 按钮的外侧y声明我的数据表,以便我可以在两个按钮中使用 System.Data.DataTable _myDataTable =new System.Data.DataTable(); 按钮1填充数据表:对于这个示例,假设只有10列,caract=单元格数 for (int k=0; k < 10; k++) { _myDataTable.Column

您好,我已经用1按钮填充了我的数据表,下一个按钮2将把我的数据表发送到excel,所以我用C#和asp.net做的是: 按钮的外侧y声明我的数据表,以便我可以在两个按钮中使用

    System.Data.DataTable _myDataTable =new System.Data.DataTable();
按钮1填充数据表:对于这个示例,假设只有10列,caract=单元格数

for (int k=0; k < 10; k++) 
{
    _myDataTable.Columns.Add();   
}

for (int j=0; j < 10; j++)
    {       
    TableRow r = new TableRow();
    System.Data.DataRow row=_myDataTable.NewRow();
    for (int i = 0; i < caract+1; i++)
    {
        row[i]=(datar[j,i].ToString());
    }
    _myDataTable.Rows.Add(row);
    Table1.Rows.Add(r);
    }
不,我收到的文本是我有数据yupi,但当我按按钮2将数据表发送到excel时,它创建的文档为空, 因此,我想尝试的下一件事是逐个单元验证它是否拥有应该拥有的数据,但不知道如何从datatable中提取数据并显示在标签中。
如果您的
状况在几点上出现问题,我将非常感谢您的帮助

以下是我编写代码的方式:

if(_myDataTable !=null && _myDataTable.Rows.Count > 0)

上面的意思是-如果
\u myDataTable
是一个有效的对象并且它包含值。

您可以在全局范围内定义您的DataTable。然后可以在两个按钮事件处理程序中使用它

例如:

namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {
        private DataTable _myDataTable;
        public DataTable MyDataTable { 
            get 
            {
                return _myDataTable;
            } 
            set
            { 
                _myDataTable = value;
            } 
        }
    protected void Button1_Click(object sender, EventArgs e)
    {
        for (int k=0; k < 10; k++) 
        {
            MyDataTable.Columns.Add();   
        }

        for (int j=0; j < 10; j++)
        {       
            TableRow r = new TableRow();
            System.Data.DataRow row = MyDataTable.NewRow();
            for (int i = 0; i < caract+1; i++)
            {
                row[i]=(datar[j,i].ToString());
            }
                MyDataTable.Rows.Add(row);
                Table1.Rows.Add(r);
        }

    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        if(MyDataTable !=null || MyDataTable.Rows.Count == 0)
        {

            string name="productos";
            Label2.Text="it has data";
        }
        else
        {
            Label2.Text="NO data"; 
        }
    }
}
命名空间WebApplication1
{
公共部分类\u默认值:System.Web.UI.Page
{
私有数据表myDataTable;
公共数据表MyDataTable{
得到
{
返回myDataTable;
} 
设置
{ 
_myDataTable=值;
} 
}
受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
对于(int k=0;k<10;k++)
{
MyDataTable.Columns.Add();
}
对于(int j=0;j<10;j++)
{       
TableRow r=新的TableRow();
System.Data.DataRow行=MyDataTable.NewRow();
对于(int i=0;i

}

我知道这是一个老问题,但现在有一个简单的方法可以解决这个问题,如下所示:

if ((dataTableName?.Rows?.Count ?? 0) > 0)

感谢这一点,我验证了我的想法,我的数据表是空的,所以现在我必须弄清楚如何将我的数据表从按钮1发送到按钮2
if ((dataTableName?.Rows?.Count ?? 0) > 0)