2015-02-10 2 views
0

Я вчера задал этот вопрос, и я не получил хорошего ответа. Я работаю над файлом resx. Я прочитал файл и загрузил его в gridview. теперь я хотел, чтобы иметь возможность редактировать из файла и сохранять. Я пробовал много способов, но я не пришел с решением. вчера я пробовал этот код ниже. Я не знаю, как я могу редактировать. пожалуйста помогите.Как я могу отредактировать ячейку из datgridview?

private void btnSave_Click(object sender, EventArgs e) 
    { 
      foreach (DataGridViewRow _row in Gridview_Output.Rows) 
      { 
       DataRow dt1 = oDataTable.NewRow(); 
       for (int i = 0; i < Gridview_Output.ColumnCount; i++) 
       { 
        Gridview_Input.SelectedRows[0].Cells[1].Value = oDataSet.Tables["data"].Rows[0][1].ToString(); 
        Gridview_Input.SelectedRows[0].Cells[2].Value = oDataSet.Tables["data"].Rows[0][2].ToString(); 
        Gridview_Input.SelectedRows[0].Cells[3].Value = oDataSet.Tables["data"].Rows[0][3].ToString(); 
        Gridview_Input.SelectedRows[0].Cells[4].Value = oDataSet.Tables["data"].Rows[0][4].ToString(); 
        oDataTable.Rows.Add(dt1); 
       } 
       oDataSet.Tables.Add(oDataTable); 
       oDataSet.WriteXml(PathSelection); 
      } 
+0

Хотите изменить только DataTable значение или сохранить Resx также? –

+0

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

ответ

0

Это поможет вам почти так, как вы этого хотите.
Фрагмент кода из Modifying .resx file in c#

public static void UpdateResourceFile(Hashtable data, String path) 
{ 
    Hashtable resourceEntries = new Hashtable(); 

    //Get existing resources 
    ResXResourceReader reader = new ResXResourceReader(path); 
    if (reader != null) 
    { 
     IDictionaryEnumerator id = reader.GetEnumerator(); 
     foreach (DictionaryEntry d in reader) 
     { 
      if (d.Value == null) 
       resourceEntries.Add(d.Key.ToString(), ""); 
      else 
       resourceEntries.Add(d.Key.ToString(), d.Value.ToString()); 
     } 
     reader.Close(); 
    } 

    //Modify resources here... 
    foreach (String key in data.Keys) 
    { 
     if (!resourceEntries.ContainsKey(key)) 
     { 

      String value = data[key].ToString(); 
      if (value == null) value = ""; 

      resourceEntries.Add(key, value); 
     } 
    } 

    //Write the combined resource file 
     ResXResourceWriter resourceWriter = new ResXResourceWriter(path); 

     foreach (String key in resourceEntries.Keys) 
     { 
      resourceWriter.AddResource(key, resourceEntries[key]); 
     } 
     resourceWriter.Generate(); 
     resourceWriter.Close(); 

} 
+0

, где я должен меняться в соответствии с моими потребностями? –

+0

вам нужно сохранить измененное значение в коллекции keyvaluepairs (словарь, hashtable и т. Д.), А в конце просто писать - использовать ** ResXResourceWriter ** –

+0

утра, можете ли вы показать пример из столбцов, которые у меня есть? –

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