ASP.NET - 如何在 C# 表上设置单元格宽度百分比

Posted

技术标签:

【中文标题】ASP.NET - 如何在 C# 表上设置单元格宽度百分比【英文标题】:ASP.NET - How to set Cells-Width-Percentage on C# Table 【发布时间】:2016-08-20 02:27:42 【问题描述】:

大家好!我有一个 System.Web.UI.WebControls.Table 带有宽度(默认为 20%)的单元格(控件)。我想改变这个百分比 -> 40% / 20% / 20% / 10% / 10%

我想要关注:

如何在这个单元格(控件)上设置不同的宽度

这是我的代码:

Table myTbl = new Table();
TableRow tRow1 = new TableRow();

    //Row1 Cells Controls

            TextBox txt11 = new TextBox();
            txt11.ID = "txtDest11";
            txt11.Height = 19;
           //txt11.Width = Unit.Percentage(40);

            TextBox txt12 = new TextBox();
            txt12.ID = "txtKmInCity12";
            txt12.Height = 19;

            TextBox txt13 = new TextBox();
            txt13.ID = "txtKmOutCity13";
            txt13.Height = 19;

            DateTimeControl dt11 = new DateTimeControl();
            dt11.DateOnly = true;
            dt11.ShowWeekNumber = true;
            dt11.LocaleId = 1026;

            DateTimeControl dt12 = new DateTimeControl();
            dt12.DateOnly = true;
            dt12.ShowWeekNumber = true;
            dt12.LocaleId = 1026;

            tRow1 = new TableRow();
            tRow1.Visible = true;

            TableCell tCellZero = new TableCell();
            tCellZero.Controls.Add(rowNo);
            tRow1.Cells.Add(tCellZero);

            TableCell tCellOne = new TableCell();
            tCellOne.Controls.Add(txt11);
            tRow1.Cells.Add(tCellOne);

            TableCell tCellTwo = new TableCell();
            tCellTwo.Controls.Add(dt11);
            tRow1.Cells.Add(tCellTwo);

            TableCell tCellThree = new TableCell();
            tCellThree.Controls.Add(dt12);
            tRow1.Cells.Add(tCellThree);

            TableCell tCellFour = new TableCell();
            tCellFour.Controls.Add(txt12);
            tRow1.Cells.Add(tCellFour);

            TableCell tCellFive = new TableCell();
            tCellFive.Controls.Add(txt13);
            tRow1.Cells.Add(tCellFive);

            myTbl.Rows.Add(tRow1);

结果:

【问题讨论】:

【参考方案1】:

改为将宽度添加到TableCell。使用这个:

TableCell myTableCell = new TableCell();
myTableCell.Width = new Unit("25%");

myTableCell.Style.Add("width", "25%");

更新:

对于文本框:

TextBox txt11 = new TextBox();
txt11.ID = "txtDest11";
txt11.Height = 19;
txt11.Style.Add("width", "100%");

对于表格单元:

TableCell tCellOne = new TableCell();
 tCellOne.Style.Add("width", "40%");
 tCellOne.Controls.Add(txt11);
 tRow1.Cells.Add(tCellOne);

【讨论】:

@Gohyu,你在 OP 中提到了Width (20% by default)。您是否设置了文本框或表格单元的宽度?你在哪里设置宽度(aspx 或代码隐藏)? 在表格单元格中的文本框上 我没有设置任何宽度。 所以这意味着每个TableCell 有20% 的宽度。并且您需要将宽度设置为单个 TableCell 中包含的每个 Textbox 的百分比? @Gohyu,检查我的更新,看看是否有帮助。基本上,为tablecelltextbox 设置宽度。

以上是关于ASP.NET - 如何在 C# 表上设置单元格宽度百分比的主要内容,如果未能解决你的问题,请参考以下文章

asp.net(C#) datagridview 如何实现单元格值更改后自动触发事件

如何对 ASP.NET Core 控制器或模型对象进行单元测试?

如何使用 C# 在 ASP.NET 3.5 中动态设置“application/ld+json”Schema.org 元数据

如何在 ASP.NET Core MVC 中添加分页,在 AJAX 调用中动态创建的表上

ASP.NET 系列:单元测试

asp.net(c#)如何上传大文件?