在 ac# windows 应用程序中设置 Datagrid 的单元格宽度

发布于 2024-08-20 00:08:00 字数 556 浏览 2 评论 0原文

我的 C# Windows 应用程序中有一个数据网格,我的代码是

private void BindGrid(SmsPdu pdu)
 {
   DataRow dr=dt.NewRow();
   SmsDeliverPdu data = (SmsDeliverPdu)pdu;
   dr[0]=data.OriginatingAddress.ToString();
   dr[1]=data.SCTimestamp.ToString();
   dr[2]=data.UserDataText;
   dt.Rows.Add(dr);
   dataGrid1.DataSource=dt;
  }

我的数据网格看起来像这样 替代文本 http://www.freeimagehosting.net/uploads/c368f82e0e.jpg

  • 如何设置所有三列的宽度 发件人、时间、消息?

I have a datagrid in my c# windows application and my code is

private void BindGrid(SmsPdu pdu)
 {
   DataRow dr=dt.NewRow();
   SmsDeliverPdu data = (SmsDeliverPdu)pdu;
   dr[0]=data.OriginatingAddress.ToString();
   dr[1]=data.SCTimestamp.ToString();
   dr[2]=data.UserDataText;
   dt.Rows.Add(dr);
   dataGrid1.DataSource=dt;
  }

And my datagrid looks like this
alt text http://www.freeimagehosting.net/uploads/c368f82e0e.jpg

  • How to set width of all three columns
    sender,time,Message?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

逆光下的微笑 2024-08-27 00:08:00

简单的方法:使用 autosize

否则,使用 Columns 集合来设置每列的大小

附录:

抱歉,我假设您使用的是 DataGridView,因为它在 .NET 2.0 中替换了 DataGrid

for DataGrid,它有点复杂 - 但谷歌知道全部!

http://www.syncfusion.com/faq/windowsforms/search/1004。 ASPX

the simple way: use autosize

otherwise, use the Columns collection to set the size of each column

ADDENDUM:

sorry, I assumed you were using DataGridView, since it replaced DataGrid in .NET 2.0

for DataGrid, it's a little more complex - but google knows all!

http://www.syncfusion.com/faq/windowsforms/search/1004.aspx

回眸一遍 2024-08-27 00:08:00

Columns 集合中有一个 Width 属性:

DataGridView1.Columns(X).Width = Y

其中 X 是列的名称或索引,Y 是宽度

There is a Width property on the Columns collection:

DataGridView1.Columns(X).Width = Y

Where X is the name or index of the column and Y is the width

吃不饱 2024-08-27 00:08:00

datagrid1.列[0].宽度

查看这个类。它有一个可以设置的宽度属性。

编辑:查看此页面。查看 AddGridStyle 下的代码,其中显示了如何创建映射和网格样式。设置每个列的样式、宽度等。

希望有帮助。

EDIT2:我正在编写以下代码,无需编译器(仅使用反射器和 MSDN 查看文档)。所以,请友善

DataGridTableStyle tableStyle = dataGrid1.TableStyles[0];
GridColumnStylesCollection colStyles = tableStyle.GridColumnStyles[0];

DataGridColumnStyle styleForCol1 = colStyles[0];
styleForCol1.Width = 165;

DataGridColumnStyle styleForCol2 = colStyles[1];
styleForCol1.Width = 125;

该代码源自我对 备注下的此页面,如下引用

System.Windows.Forms..::.DataGrid
控制自动创建一个
DataGridColumnStyle 的集合
当您设置时为您提供对象
DataSource 属性设置为适当的
数据源。创建的对象
实际上是其中之一的实例
以下继承自的类
数据网格列样式:
DataGridBoolColumn 或
DataGridTextBoxColumn 类。

How about datagrid1.Columns[0].Width?

Look at this class. It has a width property that you can set.

EDIT: Look at this page. And look at the code under AddGridStyle, which shows how to create the mapping & set each of the column style, width etc.

Hope that helps.

EDIT2: I am writing the following code without compiler (just using reflector & MSDN to look at the documentation). So, please be kind

DataGridTableStyle tableStyle = dataGrid1.TableStyles[0];
GridColumnStylesCollection colStyles = tableStyle.GridColumnStyles[0];

DataGridColumnStyle styleForCol1 = colStyles[0];
styleForCol1.Width = 165;

DataGridColumnStyle styleForCol2 = colStyles[1];
styleForCol1.Width = 125;

The code is derived from what I understood from this page under Remarks , which is quoted below

The System.Windows.Forms..::.DataGrid
control automatically creates a
collection of DataGridColumnStyle
objects for you when you set the
DataSource property to an appropriate
data source. The objects created
actually are instances of one of the
following classes that inherit from
DataGridColumnStyle:
DataGridBoolColumn or
DataGridTextBoxColumn class.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文