如何在c#中的两个不同列中添加不同的数据源

时间:2014-01-10 05:35:56

标签: c# listview datasource

我有一个ListView,其中我添加了两列。一列很简单,一列有Free 3 of 9 Font,因为我想将第一列的值转换为BarCode,然后将它们显示在第二列中。我想借助List填充ListView的数据源。 现在我的问题是如何设置ListView的单列数据源,因为我必须将该列的值转换为BarCode,然后将其显示在其他列中。

我现在只设置整个ListView的数据源,因为我之后添加了列。

我的代码如下所示

      private void GenerateButton_Click(object sender, EventArgs e)
      {
         List<string> SerialNumberList = new List<string>();
         int SerialNumberStart = Convert.ToInt32(Regex.Replace(StartSerialBox.Text, "[^0-9]+", string.Empty));

         int SerialLimit = Convert.ToInt32(LimitBox.Text);
         for (int i = 0; i < SerialLimit;i++ )
         {
           SerialNumberStart++;
           SerialNumberList.Add("S" + SerialNumberStart);
         }
        for (int j = 0; j < SerialNumberList.Count;j++ )
        {

            Adapter.insertserialnumbers(SerialNumberList[j], DateTime.Now.ToString());

        }
         radListView1.DataSource = SerialNumberList;
       }

我希望两列都应该具有单独的List作为数据源,并且只应更改第二列的Font。

1 个答案:

答案 0 :(得分:0)

以下是DataGridView的示例:

    private void Form1_Load(object sender, EventArgs e)
    {
        var dataGridView = new DataGridView
        {
            AutoGenerateColumns = false,
            DataSource = new List<string>
            {
                "Red",
                "Green",
                "Blue"
            }
            .Select(s => Tuple.Create(s))
            .ToList()
        };

        var columnA = new DataGridViewTextBoxColumn
        {
            HeaderText = "Column A",
            DataPropertyName = "Item1"
        };

        var columnB = new DataGridViewTextBoxColumn
        {
            HeaderText = "Column B",
            DataPropertyName = "Item1",
        };

        columnB.DefaultCellStyle.Font = new System.Drawing.Font("Times New Roman", 14);

        dataGridView.Columns.Add(columnA);
        dataGridView.Columns.Add(columnB);

        Controls.Add(dataGridView);
    }

DGV无法直接绑定到字符串列表,因为特定列的数据绑定需要一个要绑定的数据属性名称。所以,我在这里使用了一个包装器(Tuple<string>)。

这是你想要的吗?

P.S。当然,您也可以使用设计师。该示例在代码中创建DGV以显示正在发生的事情。