使用arraylist asp.net/c绑定gridview#

使用arraylist asp.net/c绑定gridview#,gridview,Gridview,我已经创建了一个网格视图,我可以用数组列表绑定该网格视图列吗 如果可能的话,请你写一个示例代码 提前谢谢你是的,这是可能的。您必须在网格视图中指定列,根据您的需要和ArrayList的内容将它们绑定到某个表达式(您在其中包含什么类型的对象?),然后只需键入代码: myGrid.DataSource = myArrayList; myGrid.Databind(); 是的,这是可能的。您必须在网格视图中指定列,根据您的需要和ArrayList的内容将它们绑定到某个表达式(您在其中包含什么类型的对

我已经创建了一个网格视图,我可以用数组列表绑定该网格视图列吗

如果可能的话,请你写一个示例代码


提前谢谢你

是的,这是可能的。您必须在网格视图中指定列,根据您的需要和ArrayList的内容将它们绑定到某个表达式(您在其中包含什么类型的对象?),然后只需键入代码:

myGrid.DataSource = myArrayList;
myGrid.Databind();

是的,这是可能的。您必须在网格视图中指定列,根据您的需要和ArrayList的内容将它们绑定到某个表达式(您在其中包含什么类型的对象?),然后只需键入代码:

myGrid.DataSource = myArrayList;
myGrid.Databind();

创建ArrayList之后,只需将ArrayList添加到datatable中,并将datatable绑定到Gridview。然后在设计页面中,您提到AutoGenerateColumns属性为“true”

如以下代码所示: 在设计页面中:

<asp:GridView ID="gvarray" runat="server" Width="328px">
     <Columns>
          <asp:TemplateField HeaderText="Select One">
              <ItemTemplate>
                  <asp:Label ID = "rdoday" runat = "server" text = '<%# DataBinder.Eval (Container.DataItem, "Item") %>' />

              </ItemTemplate>
          </asp:TemplateField>
     </Columns>
<asp:TemplateField HeaderText="User ID">
                        <ItemTemplate>
                            <asp:Label ID="lblDailyRunNo" runat="server" Text='<%# Eval("UserID") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="UserName">
                        <ItemTemplate>
                            <asp:Label ID="lblAreaNo" runat="server" Text='<%# Eval("Username") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Mobile Number">
                        <ItemTemplate>
                            <asp:Label ID="lblSalespersonName" runat="server" Text='<%# Eval("MobileNo") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Address">
                        <ItemTemplate>
                            <asp:Label ID="lblStatus" runat="server" Text='<%# Eval("Address") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>

在代码隐藏中:

ArrayList Array_L = new ArrayList();
        Array_L.Add("One");
        Array_L.Add("two");
        Array_L.Add(2);
DataTable dt = new DataTable();
dt.Columns.Add("Name");
for (int i = 0; i < Array_L .Count();i++)
{
    dt.Rows.Add();
    dt.Rows[i]["Name"] = Array_L [i].ToString();
}
gvarray.DataSource = dt;
gvarray.DataBind();
ArrayList数组_L=new ArrayList();
数组_L.添加(“一”);
数组加上(“两个”);
数组添加(2);
DataTable dt=新的DataTable();
dt.列。添加(“名称”);
对于(int i=0;i
创建ArrayList后,只需将ArrayList添加到datatable中,并将datatable绑定到Gridview。然后在设计页面中,您提到AutoGenerateColumns属性为“true”

如以下代码所示: 在设计页面中:

<asp:GridView ID="gvarray" runat="server" Width="328px">
     <Columns>
          <asp:TemplateField HeaderText="Select One">
              <ItemTemplate>
                  <asp:Label ID = "rdoday" runat = "server" text = '<%# DataBinder.Eval (Container.DataItem, "Item") %>' />

              </ItemTemplate>
          </asp:TemplateField>
     </Columns>
<asp:TemplateField HeaderText="User ID">
                        <ItemTemplate>
                            <asp:Label ID="lblDailyRunNo" runat="server" Text='<%# Eval("UserID") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="UserName">
                        <ItemTemplate>
                            <asp:Label ID="lblAreaNo" runat="server" Text='<%# Eval("Username") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Mobile Number">
                        <ItemTemplate>
                            <asp:Label ID="lblSalespersonName" runat="server" Text='<%# Eval("MobileNo") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Address">
                        <ItemTemplate>
                            <asp:Label ID="lblStatus" runat="server" Text='<%# Eval("Address") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>

在代码隐藏中:

ArrayList Array_L = new ArrayList();
        Array_L.Add("One");
        Array_L.Add("two");
        Array_L.Add(2);
DataTable dt = new DataTable();
dt.Columns.Add("Name");
for (int i = 0; i < Array_L .Count();i++)
{
    dt.Rows.Add();
    dt.Rows[i]["Name"] = Array_L [i].ToString();
}
gvarray.DataSource = dt;
gvarray.DataBind();
ArrayList数组_L=new ArrayList();
数组_L.添加(“一”);
数组加上(“两个”);
数组添加(2);
DataTable dt=新的DataTable();
dt.列。添加(“名称”);
对于(int i=0;i
您可以创建一个新的ArrayList以从SqlDataSource获取所有数据。然后,可以使用数据表将ArrayList中的数据插入网格视图的指定列和行中

以下是代码隐藏文件:

ArrayList myList = sampleController.getDataFromTable();
        DataTable dataTable = new DataTable();
        DataColumn dataColumn;
        dataColumn = new DataColumn("UserID");
        dataTable.Columns.Add(dataColumn);
        dataColumn = new DataColumn("Username");
        dataTable.Columns.Add(dataColumn);
        dataColumn = new DataColumn("MobileNo");
        dataTable.Columns.Add(dataColumn);
        dataColumn = new DataColumn("Address");
        dataTable.Columns.Add(dataColumn);

        foreach (object str in myList)
        {
            Customer customer= new Customer();
            customer= (Customer)str;
            DataRow dataRow = dataTable.NewRow();
            dataRow[0] = customer.DailyRunNo;
            dataRow[1] = customer.Area.Name;
            dataRow[2] = customer.Employee.EmployeeName;
            dataRow[3] = customer.SalStatus;

            dataTable.Rows.Add(dataRow);
        }
        gvCustomer.DataSource = dataTable;
        gvCustomer.DataBind();//Bind datatable
以下内容在ASPX设计页面中:

<asp:GridView ID="gvarray" runat="server" Width="328px">
     <Columns>
          <asp:TemplateField HeaderText="Select One">
              <ItemTemplate>
                  <asp:Label ID = "rdoday" runat = "server" text = '<%# DataBinder.Eval (Container.DataItem, "Item") %>' />

              </ItemTemplate>
          </asp:TemplateField>
     </Columns>
<asp:TemplateField HeaderText="User ID">
                        <ItemTemplate>
                            <asp:Label ID="lblDailyRunNo" runat="server" Text='<%# Eval("UserID") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="UserName">
                        <ItemTemplate>
                            <asp:Label ID="lblAreaNo" runat="server" Text='<%# Eval("Username") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Mobile Number">
                        <ItemTemplate>
                            <asp:Label ID="lblSalespersonName" runat="server" Text='<%# Eval("MobileNo") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Address">
                        <ItemTemplate>
                            <asp:Label ID="lblStatus" runat="server" Text='<%# Eval("Address") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>

您可以创建一个新的ArrayList以从SqlDataSource获取所有数据。然后,可以使用数据表将ArrayList中的数据插入网格视图的指定列和行中

以下是代码隐藏文件:

ArrayList myList = sampleController.getDataFromTable();
        DataTable dataTable = new DataTable();
        DataColumn dataColumn;
        dataColumn = new DataColumn("UserID");
        dataTable.Columns.Add(dataColumn);
        dataColumn = new DataColumn("Username");
        dataTable.Columns.Add(dataColumn);
        dataColumn = new DataColumn("MobileNo");
        dataTable.Columns.Add(dataColumn);
        dataColumn = new DataColumn("Address");
        dataTable.Columns.Add(dataColumn);

        foreach (object str in myList)
        {
            Customer customer= new Customer();
            customer= (Customer)str;
            DataRow dataRow = dataTable.NewRow();
            dataRow[0] = customer.DailyRunNo;
            dataRow[1] = customer.Area.Name;
            dataRow[2] = customer.Employee.EmployeeName;
            dataRow[3] = customer.SalStatus;

            dataTable.Rows.Add(dataRow);
        }
        gvCustomer.DataSource = dataTable;
        gvCustomer.DataBind();//Bind datatable
以下内容在ASPX设计页面中:

<asp:GridView ID="gvarray" runat="server" Width="328px">
     <Columns>
          <asp:TemplateField HeaderText="Select One">
              <ItemTemplate>
                  <asp:Label ID = "rdoday" runat = "server" text = '<%# DataBinder.Eval (Container.DataItem, "Item") %>' />

              </ItemTemplate>
          </asp:TemplateField>
     </Columns>
<asp:TemplateField HeaderText="User ID">
                        <ItemTemplate>
                            <asp:Label ID="lblDailyRunNo" runat="server" Text='<%# Eval("UserID") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="UserName">
                        <ItemTemplate>
                            <asp:Label ID="lblAreaNo" runat="server" Text='<%# Eval("Username") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Mobile Number">
                        <ItemTemplate>
                            <asp:Label ID="lblSalespersonName" runat="server" Text='<%# Eval("MobileNo") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Address">
                        <ItemTemplate>
                            <asp:Label ID="lblStatus" runat="server" Text='<%# Eval("Address") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>

当要绑定的数据是表格结构时,使用ArrayList是不符合逻辑的。当数据需要与下拉列表或ListView控件绑定时,可以使用ArrayList

若您想将数据绑定到gridview/datalist/datalist控件,那个么更好的选择应该是使用DataTable/Dataset,或者可以使用LIST ex:LIST

这里有一个使用gridview的Datatable示例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.IO;
using System.Data.OleDb;
using System.Collections;

namespace TestApp
{
     public partial class MyWebPage: System.Web.UI.Page         
     {
         static string GetConnectionString()
         {
             return ConfigurationManager.ConnectionStrings["myConnString"].ConnectionString;
         }
         protected void Page_Load(object sender, EventArgs e)
         {
             if (!IsPostBack)
             {
                BindData();
             }
         }

         private void BindData()
         {
            string connstring = GetConnectionString();
            using(SqlConnection cn = new SqlConnection())
            {
                string query = "your sql query";
                SqlDataAdapter da = new SqlDataAdapter(query,cn);
                cn.Open();
                DataTable dtMyTable = new DataTable();
                da.Fill(dtMyTable);
                GridView1.DataSource = dtMyTable;
                GridView1.DataBind();
              }
            }
      }
  }

当要绑定的数据是表格结构时,使用ArrayList是不合逻辑的。当数据需要与下拉列表或ListView控件绑定时,可以使用ArrayList

若您想将数据绑定到gridview/datalist/datalist控件,那个么更好的选择应该是使用DataTable/Dataset,或者可以使用LIST ex:LIST

这里有一个使用gridview的Datatable示例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.IO;
using System.Data.OleDb;
using System.Collections;

namespace TestApp
{
     public partial class MyWebPage: System.Web.UI.Page         
     {
         static string GetConnectionString()
         {
             return ConfigurationManager.ConnectionStrings["myConnString"].ConnectionString;
         }
         protected void Page_Load(object sender, EventArgs e)
         {
             if (!IsPostBack)
             {
                BindData();
             }
         }

         private void BindData()
         {
            string connstring = GetConnectionString();
            using(SqlConnection cn = new SqlConnection())
            {
                string query = "your sql query";
                SqlDataAdapter da = new SqlDataAdapter(query,cn);
                cn.Open();
                DataTable dtMyTable = new DataTable();
                da.Fill(dtMyTable);
                GridView1.DataSource = dtMyTable;
                GridView1.DataBind();
              }
            }
      }
  }

我刚刚在arraylist中列出了字符串。绑定到表达式是什么意思?你能再解释一下吗?ThanksGridview由Microsoft提供的惊人链接我刚刚在arraylist中列出了字符串列表。绑定到表达式是什么意思?你能再解释一下吗?感谢Microsoft提供的RidView惊人链接