【发布时间】:2012-11-14 13:15:33
【问题描述】:
我正在尝试获取“firstName、lastName、assocID 等”。在我的表单上的数据网格中显示。我是一个新的程序员/脚本小子,如果这是一个愚蠢的问题,我很抱歉。我只是不知道如何调用 associateList.firstName 到可读的数据网格条目。
如果可能,我希望数据网格使用 associateList 中的每个关联。正在考虑以某种方式在索引引用上建立一个基本计数器。
对于我如何编写代码的其他意见也表示赞赏。我是新手,是自学的。
简而言之:我希望员工在数据网格中显示,使用列来分隔信息。
数据网格名称是 windows 窗体上的 dataGridAssociates。
namespace Associate_Tracker
{
public partial class Form1 : Form
{
public class Associate
{
//No idea wtf {get; set;} does but I read that I need it?
public string firstName { get; set; }
public string lastName { get; set; }
public string assocRFID { get; set; }
public int assocID { get; set; }
public bool canDoDiverts { get; set; }
public bool canDoMHE { get; set; }
public bool canDoLoading { get; set; }
}
public Form1()
{
InitializeComponent();
}
private void buttonAddAssoc_Click(object sender, EventArgs e)
{
#region Datagrid Creation -- Name: dt
DataTable dt = new DataTable();
dt.Columns.Add("First Name");
dt.Columns.Add("Last Name");
dt.Columns.Add("RFID");
dt.Columns.Add("Associate ID#");
dt.Columns.Add("Diverts");
dt.Columns.Add("MHE");
dt.Columns.Add("Loading");
dataGridAssociates.DataSource = dt;
#endregion
//First & Last name splitter
string allValue = textBoxAssocName.Text;
string firstNameTemp = String.Empty;
string lastNameTemp = String.Empty;
int getIndexOfSpace = allValue.IndexOf(' ');
for (int i = 0; i < allValue.Length; i++)
{
if (i < getIndexOfSpace)
{
firstNameTemp += allValue[i];
}
else if (i > getIndexOfSpace)
{
lastNameTemp += allValue[i];
}
}
firstNameTemp = firstNameTemp.Trim(); // To remove empty spaces
lastNameTemp = lastNameTemp.Trim(); // To Remove Empty spaces
//End splitter
int assocIDTemp; //TryParse succeeds
bool assocIDparse; //Bool for TryParse
//Try Parsing Associate ID to an integer
//Includes catch -> return
assocIDparse = int.TryParse(textBoxAssocID.Text, out assocIDTemp);
if (assocIDparse == false)
{
MessageBox.Show("Please use only numbers in the AssocID input");
return;
}
var associateList = new List<Associate>();
associateList.Add(new Associate
{
firstName = firstNameTemp,
lastName = lastNameTemp,
assocID = assocIDTemp,
canDoDiverts = checkBoxDiverts.Checked,
canDoMHE = checkBoxMHE.Checked,
canDoLoading = checkBoxLoading.Checked,
});
textBoxAssocID.Clear();
textBoxAssocName.Clear();
textBoxRFID.Clear();
}
}
}
【问题讨论】:
-
{ get; set; }表示这些是自动属性 (MSDN link)。 -
正在添加列,但是行呢.. 这是一个关于添加列和行的示例。
-
@Styxxy 我认为这现在更有意义了......虽然不是 100% 确定我明白它在做什么。只是让从我定义的 Associate 类中获取我需要的数据变得更加简单?
标签: c# list datagrid datagridview