C# 如何显示二维数据网格
我想设计一个显示数据网格中按钮的界面——每天和24小时。总之,我们将显示:24*7=168个按钮C# 如何显示二维数据网格,c#,wpf,C#,Wpf,我想设计一个显示数据网格中按钮的界面——每天和24小时。总之,我们将显示:24*7=168个按钮 你知道如何做到这一点吗 我做了一个示例代码来说明它是如何做到的! 此代码仅创建按钮,请查看: 注意:名字按钮你自己的方式,我只做了一个例子 dataGridView1.AllowUserToAddRows = false; for (int i = 0; i < 24; i++) { DataGridViewButtonC
你知道如何做到这一点吗 我做了一个示例代码来说明它是如何做到的! 此代码仅创建按钮,请查看: 注意:名字按钮你自己的方式,我只做了一个例子
dataGridView1.AllowUserToAddRows = false;
for (int i = 0; i < 24; i++)
{
DataGridViewButtonColumn btnColumn = new DataGridViewButtonColumn();
btnColumn.HeaderText = string.Format("{0}:00", i+1);
btnColumn.Name = "dayColumn";
btnColumn.Width = 40; //set yout width
dataGridView1.Columns.Add(btnColumn);
}
for (int i = 0; i < 7; i++)
{
dataGridView1.Rows.Add();
dataGridView1.Rows[i].HeaderCell.Value = (i + 1).ToString();
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
dataGridView1[j, i].Value = string.Format("{0}:00", (j + 1));
}
}
dataGridView1.AllowUserToAddress=false;
对于(int i=0;i<24;i++)
{
DataGridViewButtonColumn btnColumn=新DataGridViewButtonColumn();
btnColumn.HeaderText=string.Format(“{0}:00”,i+1);
btnColumn.Name=“dayColumn”;
btnColumn.Width=40;//设置您的宽度
dataGridView1.Columns.Add(btnColumn);
}
对于(int i=0;i<7;i++)
{
dataGridView1.Rows.Add();
dataGridView1.Rows[i].HeaderCell.Value=(i+1).ToString();
对于(int j=0;j
--
当单击某个按钮时,订阅事件处理程序可能是一个好主意:
public Form1()
{
InitializeComponent();
dataGridView1.AllowUserToAddRows = false;
for (int i = 0; i < 24; i++)
{
DataGridViewButtonColumn btnColumn = new DataGridViewButtonColumn();
btnColumn.HeaderText = string.Format("{0}:00", i+1);
btnColumn.Name = "dayColumn";
btnColumn.Width = 40; //set yout width
dataGridView1.Columns.Add(btnColumn);
}
for (int i = 0; i < 7; i++)
{
dataGridView1.Rows.Add();
dataGridView1.Rows[i].HeaderCell.Value = (i + 1).ToString();
for (int j = 0; j < dataGridView1.Columns.Count; j++)
dataGridView1[j, i].Value = string.Format("{0}:00", (j + 1));
}
dataGridView1.CellClick += new DataGridViewCellEventHandler(dataGridView1_CellClick);
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
string day = dataGridView1.Rows[e.RowIndex].HeaderCell.Value.ToString();
string hour = dataGridView1.Columns[e.ColumnIndex].HeaderText.ToString();
MessageBox.Show("you have clciked on day: " + day + ", hour: " + hour);
}
public Form1()
{
初始化组件();
dataGridView1.AllowUserToAddress=false;
对于(int i=0;i<24;i++)
{
DataGridViewButtonColumn btnColumn=新DataGridViewButtonColumn();
btnColumn.HeaderText=string.Format(“{0}:00”,i+1);
btnColumn.Name=“dayColumn”;
btnColumn.Width=40;//设置您的宽度
dataGridView1.Columns.Add(btnColumn);
}
对于(int i=0;i<7;i++)
{
dataGridView1.Rows.Add();
dataGridView1.Rows[i].HeaderCell.Value=(i+1).ToString();
对于(int j=0;j
有一个名为ITypedList
的框架界面,允许您以数据绑定理解的方式直接指定要为每个组成成员显示的属性
要意识到,试图以这种方式进行绑定是绝对可怕的。基本步骤如下:
- 实现一个集合类型,该集合类型实现
李>ITypedList
- 对于集合中的每个项,返回一个
,它封装了行/列对的值李>PropertyDescriptor
- 按正常方式将数据绑定到集合