2015-02-10 111 views
0

昨天我問過這個問題,我沒有得到很好的答覆。我正在研究一個resx文件。我已經讀取了該文件並將其加載到data-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

片斷你只想改變數據表中的值或保存RESX也? – 2015-02-10 07:10:11

+0

編輯resx文件內的值並保存更改。例如我有一個評論專欄,我希望用戶點擊評論專欄並編輯,然後點擊相同。更改必須也適用於文件 – 2015-02-10 07:17:03

回答

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

我必須在哪裏更改以滿足我的需求? – 2015-02-10 07:27:30

+0

您需要維護keyvaluepairs(字典,散列表等)集合中的更改值,並且最終,只需編寫使用** ResXResourceWriter ** – 2015-02-10 07:30:04

+0

am已丟失,您是否可以通過示例從我擁有的列中顯示? – 2015-02-10 07:33:32