1

私のアプリケーションでは、行と列を動的に作成しています。System.DateTime 型の列を作成しました。この後、その列のすべての行に datetimepicker コントロールを表示したいと考えています。

を使用して列を作成しました

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


そして、私は次のように行を追加しています

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

それで、これに対する解決策は何ですか。

編集:コードスニペットを提供してください。私はC#.netが初めてです。
ありがとう。

4

3 に答える 3

2

デフォルトでは、次の列のみを使用できます。

DataGridViewTextBoxColumn、DataGridViewCheckBoxColumn、DataGridViewImageColumn、DataGridViewButtonColumn、DataGridViewComboBoxColumn、DataGridViewLinkColumn

datetimepickerコントロールを表示する場合は、カスタム列を実装する必要があります。

これをチェックしてください:http://msdn.microsoft.com/en-us/library/7fb61s43.aspx

お役に立てれば。

于 2010-03-19T12:36:59.290 に答える
1

グリッドビューのアイテム テンプレートを使用し、そこに datetimepicker を配置します。良い例はここにあります

それを実装するには、インターフェースを実装する必要がありITemplateます。

別の例はこれです

これの簡単な実装は、この msdn articleに記載されています。しかし、コードは VB.net にあります。

于 2010-03-09T09:22:48.363 に答える
0

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.SelectedDateCalendar.VisibleDateについても読む必要があります。

于 2010-03-09T09:58:17.657 に答える