C#如何显示gridview所有行的datetimepicker控件

发布于 2024-08-24 08:47:46 字数 435 浏览 6 评论 0 原文

在我的应用程序中,我动态创建行和列。我创建了一个 System.DateTime 类型的列。之后,我想显示该列中所有行的日期时间选择器控件。

我使用
创建了一个列,

dataTable.Columns.Add("CreatedOn", Type.GetType("System.DateTime"));

并且将行添加为

foreach(String filename ......)
 dataTable_FileProperty.Rows.Add(filename,//here i want to add dateTimePicker

那么,这个问题的解决方案是什么。

编辑:请提供一些代码片段。我是 C#.net 新手。
谢谢。

In my application I am creating rows and columns dynamically. I created a column of type System.DateTime. After this i want to display datetimepicker control for all rows in that column.

I created a column using

dataTable.Columns.Add("CreatedOn", Type.GetType("System.DateTime"));

and i am adding rows as

foreach(String filename ......)
 dataTable_FileProperty.Rows.Add(filename,//here i want to add dateTimePicker

So, what is a solution for this.

EDIT: Please provide some code snippet. I am new to C#.net.

Thanks.

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

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

发布评论

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

评论(3

久随 2024-08-31 08:47:46

默认情况下,只有这些列可供您使用:

DataGridViewTextBoxColumn、DataGridViewCheckBoxColumn、DataGridViewImageColumn、DataGridViewButtonColumn、DataGridViewComboBoxColumn、DataGridViewLinkColumn

如果要显示 datetimepicker 控件,则必须实现自定义列。

看看这个:http://msdn.microsoft.com/en-us/ Library/7fb61s43.aspx

希望这有帮助。

By default you have just these columns available for you:

DataGridViewTextBoxColumn, DataGridViewCheckBoxColumn, DataGridViewImageColumn, DataGridViewButtonColumn, DataGridViewComboBoxColumn, DataGridViewLinkColumn

If you want to show a datetimepicker control then you have to implement a custom column.

Check this out: http://msdn.microsoft.com/en-us/library/7fb61s43.aspx

Hope this helps.

故事还在继续 2024-08-31 08:47:46

使用 gridview 的项目模板并在那里放置一个日期时间选择器。一个很好的例子是这里

要实现它,您必须实现ITemplate< /代码> 接口。

另一个例子是这个

它的简单实现在这篇 msdn 文章。但代码是在VB.net中。

use the item template of the gridview and place a datetimepicker there. A good example is here

For implementing it you have to implement the ITemplate interface.

Another example is this

An easy implementation of it is given in this msdn article. But the code is in VB.net.

墨离汐 2024-08-31 08:47:46

DataTable.Rows 包含数据,即文件名、日期、一些字符串。

GridView.Columns 包含用于显示数据的控件。

因此,如果您使用 DataRowCollection.Add(Object[])

DataTable DataTable1 = new DataTable();
DataTable1.Columns.AddRange(
     new DataColumn[] {
          new DataColumn("file", typeof(string)),
          new DataColumn("date", typeof(DateTime)) });

foreach (string f in System.IO.Directory.GetFiles(@"c:\windows"))
    DataTable1.Rows.Add(f, System.IO.File.GetCreationTime(f));

GridView1.DataSource = DataTable1;
GridView1.DataBind();

以及 GridView 的标记:

<asp:GridView runat="server" ID="GridView1" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField HeaderText="File" DataField="file" />
        <asp:TemplateField HeaderText="Date">
            <ItemTemplate>
                <asp:Calendar runat="server" ID="Calendar1" SelectedDate='<%# Bind("date") %>' />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

您还需要阅读有关 Calendar.SelectedDate日历.VisibleDate

DataTable.Rows contains data, i.e file name, date, some strings.

GridView.Columns contains controls to display data.

So if you're using DataRowCollection.Add(Object[]) :

DataTable DataTable1 = new DataTable();
DataTable1.Columns.AddRange(
     new DataColumn[] {
          new DataColumn("file", typeof(string)),
          new DataColumn("date", typeof(DateTime)) });

foreach (string f in System.IO.Directory.GetFiles(@"c:\windows"))
    DataTable1.Rows.Add(f, System.IO.File.GetCreationTime(f));

GridView1.DataSource = DataTable1;
GridView1.DataBind();

And the markup of GridView:

<asp:GridView runat="server" ID="GridView1" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField HeaderText="File" DataField="file" />
        <asp:TemplateField HeaderText="Date">
            <ItemTemplate>
                <asp:Calendar runat="server" ID="Calendar1" SelectedDate='<%# Bind("date") %>' />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

Also you need to read more about Calendar.SelectedDate and Calendar.VisibleDate

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