如何保存数据,并显示它时,我有一些约束

本文关键字:约束 显示 何保存 保存 数据 | 更新日期: 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的数据源。