亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用字符串數組獲取 datagridview 中每個頁面的數字流動數字

如何使用字符串數組獲取 datagridview 中每個頁面的數字流動數字

C#
一只斗牛犬 2023-09-16 20:18:02
我有一個包含 1000 多個項目的字符串數組,我已將其拆分為 4 個單獨的數組。我試圖將它們按datagridview數字順序排列,每列可以容納 28 個項目,每頁有四列。每個頁面應該看起來像這樣:column 1 1-28column 2 29-56column 3 57-84column 4 85-112這將是第 1 頁。第 2 頁將從第 1 列的編號 113 開始。目前,我已經將字符串數組放入其中,datagridview但數字在每個頁面中不能正確流動,但它可以正確地直接向下流動。將大數組分成四個部分:string[] array = new string[listBox1.Items.Count];for (int i = 0; i < listBox1.Items.Count; i++){    array[i] = listBox1.Items[i].ToString();}string[] array2 = array.Take((array.Length / 2).ToArray();string[] array3 = array.Skip((array.Length / 2).ToArray();string[] array4 = array2.Take((array2.Length + 1) / 2).ToArray();string[] array5 = array2.Skip((array2.Length + 1) / 2).ToArray();string[] array6 = array3.Take((array3.Length + 1) / 2).ToArray();string[] array7 = array3.Skip((array3.Length + 1) / 2).ToArray();將數組添加到datagridview:string a = "";for (int i = 0; i < array4.Length; i++){    addData(array4[i], a, array5[i], a, array6[i],a, array7[i],a );}添加數據的函數datagridprivate void addData(string a, string b, string c, string d, string e, string f, string g, string h){    string[] row = { a, b, c, d,e,f,g,h };    dataGridView1.Rows.Add(row);}我想要的結果是在每一頁上都有數字流動的數字。
查看完整描述

1 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

下面將數字放入數據表中。您可以將表格設為datagridview1.DataSource = dt;


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data;


namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            //create a 1000 strings from numbers starting at 1001

            string[] array = Enumerable.Range(1001, 1000).Select(x => "String : " + x.ToString()).ToArray();


            var pages = array.Select((x,i) => new {str = x, index = i})

                .GroupBy(x => x.index  / 112)

                .Select(x => x.ToArray())

                .ToArray();


            var rows = pages

                .SelectMany(x => x.GroupBy(y => y.index % 28)).Select(y => y.ToArray())

                .ToArray();


            DataTable dt = new DataTable();

            dt.Columns.Add("Col A", typeof(string));

            dt.Columns.Add("Col B", typeof(string));

            dt.Columns.Add("Col C", typeof(string));

            dt.Columns.Add("Col D", typeof(string));



            foreach (var row in rows)

            {

                DataRow newRow = dt.Rows.Add(new object[] { 

                    row[0].str, 

                    (row.Length > 1) ? (object)row[1].str : null,

                    (row.Length > 2) ? (object)row[2].str : null,

                    (row.Length > 3) ? (object)row[3].str : null

                });

            }

        }

    }

}



查看完整回答
反對 回復 2023-09-16
  • 1 回答
  • 0 關注
  • 121 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號