2

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

    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);
    }

现在按钮 2 允许用户是否要将数据表中的数据保存到 excel 中,但首先我验证数据表是否为空

if(_myDataTable !=null || _myDataTable.Rows.Count == 0)
    {

    string name="productos";
    Label2.Text="it has data";
            }
           else{Label2.Text="NO data"; }

不,我写了我有数据 yupi 给我的文本,但是当我按下按钮 2 将数据表发送到 excel 时,它会创建文档但是是空的,所以我想尝试的下一件事是逐个验证单元格是否它有数据应该有,但只是不知道如何从数据表中提取数据并显示在标签中。我很感激任何帮助

4

3 回答 3

8

你的if情况在几点上看起来不对。

这就是我的编码方式:

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

上面的意思是 - if_myDataTable是一个有效的对象并且它包含值。

于 2012-07-04T19:24:38.853 回答
0

JUAN 你可以在全局范围内定义你的 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"; 
        }
    }
}

}

于 2012-07-04T20:28:59.580 回答
0

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

if ((dataTableName?.Rows?.Count ?? 0) > 0)
于 2019-02-25T20:17:09.980 回答