2016-04-25 2 views
0

У меня проблема, у меня есть метод с использованием C#, где я читаю в длинном тексте, который содержит путь к папке. И, разбив его с помощью регулярного выражения, я сохраняю небольшой текст, который хочу показать в моем gridview. Код выглядит следующим образомПривязка текста к Itemtemplate в Gridview с использованием C#

string folder = @"X:\05_General\T\TestVehicleInfo\Vehicles\Bordeaux_2099908\Readouts\All\20160126_22138km_RESF_Tw1602\After\XCOM\Bordeaux_2099908_20160128_22159km_XCOM_ALL_DTC_CDABX1.txt"; 
     string[] parts = folder.Split('\\'); 
     List<string> filteredstrings = new List<string>(); 
     foreach (string part in parts) 
     { 
      if (Regex.IsMatch(part, @"\d{8}")) 
      { 
       filteredstrings.Add(part); 
      } 
     } 

И GridView выглядит следующим образом:

<asp:BoundField DataField="ReadOutID" HeaderText="ReadOutID" InsertVisible="False" ReadOnly="True" SortExpression="ReadOutID" /> 
           <asp:BoundField DataField="FileName" HeaderText="FileName" SortExpression="FileName" /> 
           <asp:BoundField DataField="FileTime" HeaderText="FileTime" SortExpression="FileTime" /> 
           <asp:BoundField DataField="ImportTime" HeaderText="ImportTime" SortExpression="ImportTime" /> 
           <%-- <asp:BoundField DataField="FullPath" HeaderText="Comment" SortExpression="FullPath" />--%> 
           <asp:TemplateField HeaderText="Comment" SortExpression="FullPath"> 
            <EditItemTemplate> 
             <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("FullPath") %>'></asp:TextBox> 

            </EditItemTemplate> 
            <ItemTemplate> 
             <asp:Label ID="Label1" runat="server" Text='<%# **What should i write here?** %>'></asp:Label> 


            </ItemTemplate> 

Я хочу, чтобы показать filteredsting в аспида: область метки, где я написал «что я должен написать здесь». Какую команду я должен использовать?

+0

Вы заполняете gridview из 'DataTable' ..? – KanisXXX

+0

Да! Из источника SQL –

+0

Поскольку у вас есть список , который вы хотите показать в gridview, правильно .. ?? – KanisXXX

ответ

0

Я предполагаю, что у вас есть эта строка в вашем Gridview Row на ASPX, затем добавить OnRowDataBound="GridView1_OnRowDataBound" событие на GridView

, а затем попробуйте этот код на код позади

protected void GridView1_OnRowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      string folder = e.Row.Cells[1].Text;//Your gridview cell location of that string 
      string[] parts = folder.Split('\\'); 
      List<string> filteredstrings = new List<string>(); 
      foreach (string part in parts) 
      { 
       if (Regex.IsMatch(part, @"\d{8}")) 
       { 
        filteredstrings.Add(part); 
       } 
      } 
      e.Row.Cells.Add(new TableCell() {Text = string.Join(",", filteredstrings)});// this will give CSV value of your List<string> 
     } 
    } 

Надежда Это поможет

+0

Большое спасибо! Это решило мою проблему. –

+0

рад, что я смог помочь. Пожалуйста, проверьте его как принятый ответ :) – KanisXXX

Смежные вопросы