Я изменил данные в Dataatable.Как мне вернуть эти измененные данные обратно в таблицу? - PullRequest
0 голосов
/ 19 января 2019

Я изменил данные в таблице данных.Столбец ExpireDate возвращает дату + время, хотя мне нужна была только дата.Я успешно читаю каждую строку, чтобы вернуть правильный формат, но как мне вернуть этот столбец измененных дат обратно в таблицу, чтобы я мог отобразить его в своей веб-форме?

con.Open();
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
    {
       DataTable dt = new DataTable();                           
       foreach (DataRow dr in dt.Rows)
       {
          dr["ExpireDate"] = DateTime.Parse((dr["ExpireDate"].ToString())).ToShortDateString();
       }                                                      
       sda.Fill(dt);
       tblBoard.DataSource = dt;
       tblBoard.DataBind();
       con.Close();
    }

Вот веб-форма:

<asp:GridView ID="tblBoard" runat="server" AutoGenerateColumns="false">
    <Columns>                
        <asp:BoundField DataField="FirstName" HeaderText="First Name" />
        <asp:BoundField DataField="LastName" HeaderText="Last Name" />
        <asp:BoundField DataField="ExpireDate" HeaderText="Expire Date" />               
    </Columns>
</asp:GridView>

Старый формат даты все еще отображается в таблице.

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Если вы измените формат даты с бэкэнда, и эта дата не будет отображаться во внешнем интерфейсе, то однажды попытайтесь удалить ошибку вашего браузера, а затем повторите попытку.

Кроме того, еще одно решение не нужно использовать дляцикл в бэкэнде.Непосредственная привязка данных вашей таблицы к источнику данных представления сетки и к внешнему интерфейсу только DataFormatString.

<asp:BoundField DataField="ExpireDate" HtmlEncode="false" 
DataFormatString="{0:d}" />

или

<asp:BoundField DataField="ExpireDate" HtmlEncode="false" 
 DataFormatString="{0:MM/dd/yyyy}" />
0 голосов
/ 19 января 2019

Не изменяйте значение, хранящееся в самом DataTable ... вместо этого измените способ его отображения при отображении для пользователя, указав DataFormatString :

<asp:BoundField DataField="ExpireDate"
                HeaderText="Expire Date"
                DataFormatString="{0:dd/MM/yyyy}" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...