很难指定标题......
我突然想知道这个问题,
我的数据包包含“数据”“时间”和“id”。
我需要将它保存在某些数据结构中,并在表单上以某种方式显示数据(可能是datagridview), 但是当我点击显示的数据时,我需要能够获取其余的数据包信息(时间和ID)。
例如:
0110 1110 0101 0001
第一个数据id是9,时间是2222.当我点击第一个数据(0110)时,我需要显示(比如表格上的标签)id = 9和time = 2222。
还有一件事,数据必须像上面示例中的方式一样显示(在数据之间有空格的行中。
修改 我忘记了重要的事情。 如果我使用数据绑定,可以选择将网格上的数据位置(基于某些数据包信息)从某个单元格/行更改为另一个单元格/行?如果没有,可能数据绑定在这里不好。
答案 0 :(得分:0)
如果我理解你要做什么,使用DataGridView,试试这个:
// DataGridView
Databing the data source to the DataGridView (use a list of your packet for that)
---------------------------------
| DATA 1 | DATA 2 | DATA 3 | ... (Header)
---------------------------------
| 0110 | 1110 | 0101 | ... (Data)
---------------------------------
向DataGridView CellContentClick添加事件处理程序,如下所示:
private void myDataGrid_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex > -1 && e.ColumnIndex > -1) // A row and cell was selected
{
var packet = myDataGrid.Rows[e.RowIndex].DataBoundItem as Packet;
if (packet != null)
{
// Display packet information
}
}
}
希望它有所帮助。
答案 1 :(得分:0)
使您的数据包成为一个类,其中data,time和id是私有成员,DisplayData
是公共属性。要从外部访问私有成员的内容,请使用具有[Browsable(false)]
属性的属性:
public class Packet
{
private int data, time, id;
public string DisplayData {get {return FunctionToFormatDataToMyNeeds(data); }}
// ...
[Browsable(false)]
public int Time{get{return time;}}
}
将这些对象的列表绑定到DataGridView的数据源。