如何保存数据,并显示它时,我有一些约束
本文关键字:约束 显示 何保存 保存 数据 | 更新日期: 2023-09-27 17:54:19
很难指定标题…
我绞尽脑汁想解决这个问题,
我有一个包含"data" "time"answers"id"的数据包。
我需要将其保存在一些数据结构中,并仅在表单上以某种方式显示数据(可能是datagridview),但我需要的能力,以获得其余的包信息(时间和id),当我点击显示的数据。
例如:0110 1110 0101 0001
第一个数据id为9,时间为2222。当我点击第一个数据(0110)时,我需要显示(比如在表单上的标签中)id = 9和time = 2222。
还有一件事,数据必须像上面的例子那样显示(在行中,数据之间有空格)
编辑:我忘了一件重要的事。如果我使用数据绑定有选项来改变网格上的数据位置(基于一些数据包信息)从一些单元格/行到另一个?如果没有,可能是数据绑定在这里不好
如果我明白你想做什么,使用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
}
}
}
希望能有所帮助。
将数据包设置为一个类,其中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的数据源。