0
這是我在計算器的第一個問題,我完全新的節目在C#中,所以請多多包涵。我使用WPF創建了一個應用程序,其中我在數據網格中顯示了帶有.rpt擴展名的文件列表。 datagrid包含文件名列表,datagrid中也有一個複選框列。當我點擊一個按鈕時,這些文件會從文件夾瀏覽器動態填充到網格中。當我點擊第二個按鈕時(打印,因爲我需要調用服務來打印選定的文件),我被困在了用於打印這些文件進行打印的部分。入門按鈕選定的報告文件行從WPF的Datagrid點擊
這是代碼片段,我已經試過至今:
public partial class MainWindow : Window
{
public class ReportFile
{
public string Path { get; set; }
public string FileName { get; set; }
}
private void Button_Click(object sender, RoutedEventArgs e)
{
string inputPath = AppDomain.CurrentDomain.BaseDirectory;
System.Windows.Forms.FolderBrowserDialog fldDlg = new System.Windows.Forms.FolderBrowserDialog();
fldDlg.SelectedPath = AppDomain.CurrentDomain.BaseDirectory;
DialogResult result = fldDlg.ShowDialog();
foreach (string str in Directory.GetFiles(fldDlg.SelectedPath))
{
ReportFile reportFile = new ReportFile();
reportFile.Path = str;
reportFile.FileName = System.IO.Path.GetFileName(str);
dataGrid1.Items.Add(reportFile);
}
}
private void button_Click_1(object sender, RoutedEventArgs e)
{
foreach (ReportFile drv in dataGrid1.SelectedItems.OfType<ReportFile>())
{
if (drv != null)
{
DataRow row = drv.Row;
Title = row.ItemArray[3].ToString();
System.Windows.MessageBox.Show(Title.ToString());
}
}
var TransactionFactory = new TransactionFactory();
var Transaction = TransactionFactory.NewTransactionString();
var EnvironmentValue = (string)cmbEnvironment.SelectedValue;
var CirieEngineServiceClientFactory = new CirieEngineServiceClientFactory(EnvironmentValue);
var CirieEngineServiceClient = CirieEngineServiceClientFactory.NewCirieEngineServiceClient();
var Form = new Cirie.Form()
{
Path = string.Empty,
Title = string.Empty
};
var PackageID = Convert.ToInt16(txtPackageID.SelectedText);
var Generation = Convert.ToInt16(txtGeneration.SelectedText);
var formList = new List<Cirie.Form>();
var stream = CirieEngineServiceClient.PrintFormCollection
(Transaction,
new Collection<Cirie.Form>(formList),
PackageID,
Generation
);
}
}
但我不知道這是否是正確的,因爲有引發異常:無法投類型的對象ReportFile「來類型「System.Data.DataRowView」
我會很感激在這一個請幫助!
這解決了錯誤!謝謝。我還想知道如何檢索數據並將其發送到按鈕單擊的打印服務。由於我現在擁有的代碼能夠在消息框中顯示檢索到的文件。 – user0594
我雖然已經回答瞭如何檢索數據?或者你的意思是什麼數據? – mm8
我編輯了我的問題,並在後面添加了代碼,以便更好地瞭解我正在尋找的內容。 – user0594