小编San*_*tha的帖子

WPF进度条

在我的WPF应用程序中,我必须在计时器刻度事件中显示进度条进度,我写的如下,

System.Windows.Forms.Timer timer;
public MainWindow()
{
    timer = new System.Windows.Forms.Timer();
    timer.Interval = 1000;
    this.timer.Tick += new System.EventHandler(this.timer_Tick);
}
Run Code Online (Sandbox Code Playgroud)

加载事件如下

private void Window_Loaded(object sender, RoutedEventArgs e)
{
      progressBar1.Minimum = 0;
      progressBar1.Value = DateTime.Now.Second;
      progressBar1.Maximum = 700;
      timer.Start();         
 }
Run Code Online (Sandbox Code Playgroud)

最后在tick事件中,

private void timer_Tick(object sender, EventArgs e)
{
    Duration duration = new Duration(TimeSpan.FromSeconds(20));

    //progress bar animation
    System.Windows.Media.Animation.DoubleAnimation doubleanimation = new    System.Windows.Media.Animation.DoubleAnimation(200.0, duration);
    progressBar1.BeginAnimation(ProgressBar.ValueProperty, doubleanimation);
}
Run Code Online (Sandbox Code Playgroud)

当我执行我的程序时,进度条显示两三个条的进度,然后它停止增量.后来对进展没有任何影响.我的代码出了什么问题.请帮忙!..

关心Sangeetha

c# wpf timer progress-bar

13
推荐指数
2
解决办法
5万
查看次数

在Closedxml SaveAs方法中更改excel的当前格式

在我的C#应用​​程序中,我使用ClosedXml .Excel来处理excel文件.我有一个excel模板,我将模板添加到应用程序中并将数据添加到Excel工作表并保存excel,如下所示,

wb = new XLWorkbook(exportOption.FileName);
---
if (wb.Worksheets.Count > 0)
{
    for (int i = 0; i < wb.Worksheets.Count; i++)
    {
        using (var ws = wb.Worksheet(i + 1))
        {
            if (ws.Visibility == XLWorksheetVisibility.Visible)
            {
                ws.SetTabActive();
                break;
            }
        }
    }
}

try
{
    wb.CalculateMode = XLCalculateMode.Auto;
    wb.SaveAs(exportOption.FileName);
}
Run Code Online (Sandbox Code Playgroud)

保存更改后,我的excel格式也会与其他工作表完全一致.例如,在一张表中,我有百分比格式,它更改为日期格式.如何保持excel的格式相同,只是将数据插入其他工作表.

.net c# excel

6
推荐指数
1
解决办法
970
查看次数

执行按钮单击时,使wpf UI响应

在我的wpf(c#)应用程序中,当用户按下按钮时,会执行一个很长的过程.按下按钮直到执行完整代码,窗口冻结,用户无法在窗口中执行任何其他任务.如何使按钮单击代码作为后台进程,以便窗口响应用户.我尝试了以下方法,但没有成功.

private void btn_convert_Click(object sender, RoutedEventArgs e)
{
    Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, 
    new Action(() => { 

         WorkerMethod();
    }));
}
Run Code Online (Sandbox Code Playgroud)

WorkerMethod是整个代码的函数.任何建议.

此致,
Sangeetha

c# wpf multithreading background-process

5
推荐指数
3
解决办法
1万
查看次数

sql别名在CASE语句中使用的列名

我有一个SQL查询,如下所示,

select Site,DataSource,
(SELECT CASE 
   WHEN DataSource = 'RFQ' THEN 'ChangeOperator' 
   ELSE 'SameOperator' 
  END) AS OperatorScenario,

  (SELECT CASE 
   WHEN OperatorScenario = 'ChangeOperator' THEN '1' 
   ELSE '022' 
  END) AS OperatorScenario2
from tablename
Run Code Online (Sandbox Code Playgroud)

当我执行此查询时,我将异常作为无效的列名称OperatorScenario.所以我试着在第二个查询中使用别名中的单个代码,如下所示,

(SELECT CASE 
   WHEN 'OperatorScenario' = 'ChangeOperator' THEN '1' 
   ELSE '022' 
  END) AS OperatorScenario2
Run Code Online (Sandbox Code Playgroud)

所以它总是执行其他部分.请给我一些建议.关心sangeetha

sql-server-2008

5
推荐指数
1
解决办法
3万
查看次数

最后返回声明

我有一个ac#program充当客户端和许多客户端程序,它再次是ac#windows应用程序连接到这个c#server程序从sqlite数据库读取数据.为了避免连接多个客户端时出现锁定问题,我使用了以下代码,

System.Threading.Monitor.Enter(Lock);

try                       
{                     
    filter.Execute();//get data from database
    Request.Clear();
    return filter.XML;//create xml and return to client
}
finally
{
    System.Threading.Monitor.Exit(Lock);
}
Run Code Online (Sandbox Code Playgroud)

服务器有时会挂起并需要重新启动服务器程序.在最终之前做出退货声明是一个很好的做法吗?

关心sangeetha

c# return-value

5
推荐指数
1
解决办法
757
查看次数

具有明确的排序条款

我在sql server中有一个表,其中有一些值.例如如下,

StationId
-----
3
11
4
Run Code Online (Sandbox Code Playgroud)

我写了一个如下查询,

select  STUFF((SELECT distinct (',' + QuoteName(c.StationId))
            FROM Analytics c 
            FOR XML PATH(''), TYPE
            ).value('.', 'NVARCHAR(MAX)')
        ,1,1,'') 
Run Code Online (Sandbox Code Playgroud)

输出如下:

[11],[3],[4]
Run Code Online (Sandbox Code Playgroud)

现在我的要求是我需要输出为[3],[4],[11].所以当重写查询时

select  STUFF((SELECT distinct (',' + QuoteName(c.StationId))
            FROM Analytics c ORDER BY c.StationId 
            FOR XML PATH(''), TYPE
            ).value('.', 'NVARCHAR(MAX)')
        ,1,1,'')
Run Code Online (Sandbox Code Playgroud)

我正在低于例外

如果指定了SELECT DISTINCT,则ORDER BY项必须出现在选择列表中.

请给我一些建议.

sql t-sql sql-server

5
推荐指数
1
解决办法
1万
查看次数

在c#中编码特殊字符

在我的c#应用程序中,我以xml的形式接收帖子数据.在xml中,我有一个接收为" SmÃ¥senter (Sandvika SmÃ¥senter)" 的属性.在插入数据库之前,我需要将其编码为" Småsenter (Sandvika Småsenter)".我尝试使用下面的代码,

string name = "Småsenter (Sandvika Småsenter)";
name = HttpUtility.HtmlDecode(name);
Run Code Online (Sandbox Code Playgroud)

也试过了 name = HttpUtility.HtmlEncode(name);

但它没有给出预期的产出.是否有任何建议可以获得预期的字符.

问候

桑杰塔

c# encoding

1
推荐指数
1
解决办法
1776
查看次数

导出到Excel作为Web API中的响应

我正在使用Web API 4.5.1.我在C#代码中生成API并将此API传递到前端,其前端基于HTML和AngularJS JavaScript构建.我的要求是创建一个API,用于导出到Excel的前端.我是一个被困在这里的人.我收到前端人员的请求,包括fromdate和todate.基于此,我将查询数据库以获取数据,如果我成功,则从中获取HTML格式.因为我是新手,我无法继续前进.下面是我试图通过以下方式实现此目的的代码:

[HttpPost]
public HttpResponseMessage ExportToExcel(string fromTimeStamp, string toTimeStamp)
{
    DateTime fromDate = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc);
    fromDate = fromDate.AddMilliseconds(Convert.ToDouble(fromTimeStamp)).ToLocalTime();
    fromDate.AddDays(1);

    DateTime toDate = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc);
    toDate = toDate.AddMilliseconds(Convert.ToDouble(toTimeStamp)).ToLocalTime();
    toDate.AddDays(1);

    var fromDate1 = fromDate.AddDays(1).ToString("yyyy-MM-dd");
    var toDate1 = toDate.AddDays(1).ToString("yyyy-MM-dd");

    var bal = new AdminBAL();
    var ExportData = bal.ExportToExcel(fromDate1, toDate1);
    //where Exportdata is the html format for the data required.
    // unable to find the solution here
} …
Run Code Online (Sandbox Code Playgroud)

c# export-to-excel asp.net-web-api angularjs

1
推荐指数
1
解决办法
2万
查看次数

调用线程无法访问此对象

在我的wpf应用程序中,我在按钮单击中添加了一段代码,如下所示:

 private void btn_convert_Click(object sender, RoutedEventArgs e)
 {
    Thread t = new Thread(new ThreadStart(WorkerMethod));
    t.SetApartmentState(ApartmentState.MTA);
    t.IsBackground = true;
    t.Start();
 }
Run Code Online (Sandbox Code Playgroud)

在我的WorkerMethod()方法中,我有一些代码,如下面的行:

btn_convert.Content = "Convert";
Run Code Online (Sandbox Code Playgroud)

当它到达此行时,它会抛出异常,因为调用线程无法访问此对象,因为另一个线程拥有它.

我不想使用Dispatcher,因为它冻结了UI.UI应该是响应式的,所以我没有选择Dispatcher invoke或BeginInvoke.

请给我你宝贵的建议.

c# wpf multithreading

0
推荐指数
1
解决办法
184
查看次数

从 WPF 中的列表框中获取复选框项

我正在开发 WPF 应用程序。我以以下方式添加CheckBoxes到 aListBox中。

foreach (User ls in lst)
{
     AddContacts(ls, lstContactList);
}

private void AddContacts(User UserData, ListBox lstbox)
{
    try
    {
        var txtMsgConversation = new CheckBox()
        {

                Padding = new Thickness(1),
                IsEnabled = true,
                //IsReadOnly = true,
                Background = Brushes.Transparent,
                Foreground = Brushes.White,
                Width = 180,
                Height = 30,
                VerticalAlignment = VerticalAlignment.Top,
                VerticalContentAlignment = VerticalAlignment.Top,
                Content = UserData.Name, //+ "\n" + UserData.ContactNo,
                Margin = new Thickness(10, 10, 10, 10)
        };

        var SpConversation = new StackPanel() …
Run Code Online (Sandbox Code Playgroud)

c# wpf listbox

0
推荐指数
1
解决办法
3692
查看次数