Связывание gridview с arraylist asp.net/c# - PullRequest
0 голосов
/ 17 марта 2011

Я создал вид сетки, могу ли я связать столбцы этого вида со списком массивов?

Если возможно, напишите пример кода.

Спасибо в ожидании

Ответы [ 4 ]

3 голосов
/ 17 марта 2011

Да, это возможно.Вы должны указать столбцы в виде сетки, привязать их к какому-либо выражению, в зависимости от ваших потребностей и содержимого ArrayList (какие объекты вы используете в нем?), А затем просто ввести свой код:

myGrid.DataSource = myArrayList;
myGrid.Databind();
2 голосов
/ 28 ноября 2012

После создания ArrayList вы просто добавляете arraylist в таблицу данных и привязываете таблицу данных к 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>

В коде позади:

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();
1 голос
/ 20 июня 2013

Вы можете создать новый 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: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>
0 голосов
/ 24 октября 2013

Нелогично использовать ArrayList, когда данные для привязки находятся в табличной структуре. ArrayList используется в тот момент, когда необходимо связать данные с помощью элементов управления Dropdown или ListView.

Если вы хотите связать данные с элементами управления gridview / datalist / DataList, то лучше использовать DataTable / Dataset или LIST ex: LIST.

Здесь у меня есть один пример для Datatable с gridview.

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();
              }
            }
      }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...