我有一个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。
答案 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
以显示正在发生的事情。