小编Ian*_*ien的帖子

如何在列标题单击的DataGridView中对DataBound列进行排序?

我相信这应该自动处理.我绑定DataGridView到一个对象数组:

public class Entity {    
    public string Name { get; set; }     
    public int PrimaryKey { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

绑定网格:

public void BindGrid(Entity[] entities) {
    grdEntities.DataSource = entities;
}
Run Code Online (Sandbox Code Playgroud)

当我单击"名称"列中的列标题时,即使将SortMode其设置为"自动",也不会发生任何事情.列标题中也缺少排序字形.

我试过绑定到一个IBindingList也是一个,IList但这没有用.

我希望有一个简单,优雅的解决方案,可以在DataGridView或者设置属性,DataGridViewColumn而不是必须创建一个新类来支持排序.通过单击DataBound上的标题,我应该怎么做才能支持对列进行排序DataGridView

.net c# datagridview

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

在C#中解析原始HTTP响应以获取状态代码

是否有一种简单的方法来解析HTTP响应字符串,如下所示:

"HTTP/1.1 200 OK\r\nContent-Length: 1433\r\nContent-Type: text/html\r\nContent-Location: http://server/iisstart.htm\r\nLast-Modified: Fri, 21 Feb 2003 23:48:30 GMT\r\nAccept-Ranges: bytes\r\nETag: \"09b60bc3dac21:1ca9\"\r\nServer: Microsoft-IIS/6.0\r\nX-Po"
Run Code Online (Sandbox Code Playgroud)

我想获得状态代码.我不一定需要将其转换为HttpResponse对象,但这只是解析状态代码是可以接受的.我可以将其解析为HttpStatusCode枚举吗?

我正在使用基于套接字的方法,并且无法改变我获得响应的方式.我只会使用此字符串.

c# sockets http httpresponse

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

C#单元测试复杂处理程序网络

我有一个相当复杂的程序架构,只有很少的逻辑但很多事件处理程序传递.我正在构建一个服务器框架的框架,我有以下类:

Core,听取:

CommHandler,听取:

CommLayer,听取:

IServerMock,我用模拟框架(MOQ)存根.

这种由事件触发的单元测试关系的最佳方法是什么?我知道单元测试应该是非常孤立和细化的东西,但我能想到测试的唯一方法是测试整个过程并检查Core的最终输出.

c# unit-testing moq

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

C#Winforms和命令行批处理文件

我从我的c#winforms应用程序运行:

string ExecutableFilePath = @"Scripts.bat";
string Arguments = @"";

if (File.Exists(ExecutableFilePath )) {
    System.Diagnostics.Process.Start(ExecutableFilePath , Arguments);
}
Run Code Online (Sandbox Code Playgroud)

当它运行时,我会看到cmd窗口,直到它完成.

有没有办法让它运行而不向用户显示?

c# batch-file winforms

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

JAVA:将输入或输出流传递给ITextRenderer(xhtml到pdf转换器)

我想将我的XHTML文本转换为PDF.我将它转换为FileOutputStream但我找不到一种方法将它作为输入传递给ITextRenderer.这可能,怎么样?

代码 :

String finalXhtml=xhtmlparser(xmlText);
ByteArrayInputStream finalXhtmlStream = new ByteArrayInputStream(finalXhtml.getBytes());

 String HTML_TO_PDF = "ConvertedFile.pdf";
 OutputStream os = new FileOutputStream(HTML_TO_PDF);       

  ITextRenderer renderer = new ITextRenderer();
      //   renderer.loadDocument(finalXhtmlStream);  i can pass a file here can i pass an input or output stream ?     
         renderer.layout();
         renderer.createPDF(os) ;    
         os.close();
   System.out.println("done.");
Run Code Online (Sandbox Code Playgroud)

注意:我可以将文件传递给ITextRenderer如下:

 String File_To_Convert = "report.xhtml";
 String url = new File(File_To_Convert).toURI().toURL().toString();
 String HTML_TO_PDF = "ConvertedFile.pdf";
 OutputStream os = new FileOutputStream(HTML_TO_PDF);       

 ITextRenderer renderer = new ITextRenderer();
     renderer.setDocument(url);      
     renderer.layout();
     renderer.createPDF(os);
 os.close(); …
Run Code Online (Sandbox Code Playgroud)

java inputstream outputstream itext pdf-conversion

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

更改DataGridView中的列中的字体大小

我在DataGridView(WinForm应用程序)中有一个列需要更改字体大小和样式.从这里的文章:http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.font.aspx,我认为下面的代码将得到我想要的结果(我是首先通过更改样式进行测试):

this.dataGridViewMain.Columns[3].DefaultCellStyle.Font = new Font(dataGridViewMain.DefaultCellStyle.Font, FontStyle.Italic);
Run Code Online (Sandbox Code Playgroud)

但代码不会改变任何东西.我还试图在RowPostPaint事件处理程序上添加代码,但仍然无法正常工作.我知道程序使用的字体是在DataGridView.RowsDefaultCellStyle属性上设置的,但我认为在RowPostPaint事件中放置代码会覆盖它.以下是活动的代码RowPostPaint:

void dataGridViewMain_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
    this.dataGridViewMain.Columns[3].DefaultCellStyle.BackColor = Color.Gray;
    foreach (DataGridViewRow row in this.dataGridViewMain.Rows)
    {
        int daysInShop = Convert.ToInt32(row.Cells["Days in the shop"].Value);
        if (daysInShop > 4)
        {
            row.DefaultCellStyle.BackColor = Color.Red;
            row.DefaultCellStyle.ForeColor = Color.White;
        }
        else if (daysInShop > 2)
        {
            row.DefaultCellStyle.BackColor = Color.Yellow;
        }
        else
        {
            row.DefaultCellStyle.BackColor = Color.YellowGreen;
        }
        row.Height = 35;
    }

    this.dataGridViewMain.CurrentCell = null; // no row is …
Run Code Online (Sandbox Code Playgroud)

c# winforms

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

错误 - 字段初始值设定项无法引用非静态字段,方法或属性

我今天开始学习C#编程中的SQL连接.我尝试了一些基本的东西,如插入,删除等.

我想在另一个项目中尝试相同的事情,但我有一个问题.因为它向我显示了一个我无法解决的错误:(

错误:

字段初始值设定项不能引用非静态字段,方法或属性"Artikujt.Form1.con".

这是我的代码(我刚刚开始将它与SQL中的数据库连接)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Artikujt
{
    public partial class Form1 : Form
    {
        SqlConnection con = new SqlConnection(@"Data Source=TALY-PC;Initial Catalog=Katalogi;Integrated Security=True;Pooling=False");
        SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM tblArtikujt", con);
        DataSet dsl = new DataSet();    

        public Form1()
        {
            InitializeComponent();
        }    
    }
}
Run Code Online (Sandbox Code Playgroud)

错误在此代码中的变量处 con

SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM tblArtikujt", con);
Run Code Online (Sandbox Code Playgroud)

我在SQL中创建了数据库(在Visual Studio中)...我还添加了数据源.我做了我以前做过的确切事情....但它不起作用:(

c# sql sql-server-2008

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

FTPClient.storeFile()上传缓慢,然后无法正常工作

Android n00b试图找出文件服务器上传.我尝试使用Galaxy Nexus中的storeFile方法将文件上传到Android中的FTP服务器时遇到了很多麻烦FTPClient.两个问题.首先,它非常非常缓慢地运行 - 在代码移动之前,对于几个字节的文件只需要一分钟或更长时间(因此我的显示器在完成运行之前经常进入休眠状态).其次,完成后服务器上没有文件到达.但是代码确实继续运行,据我所知,我没有得到任何明确的错误消息告诉我一些错误.但第三,在所有这些(和注销)之后,它给了我一个NullPointerException并中止了活动.

(这也是第四个问题,NetworkInfo.getActiveNetworkInfo()即使我没有连接也似乎总是返回CONNECTED,但这似乎是无关的,我想专注于更大的问题.)

这里是我的代码:[ Reuse.logIt被我用来打印到logcat的一个方法,并printToUIsetText在显示屏上.正如你可能会说的那样,我试图给自己提供很多路标来弄清楚发生了什么.

public void uploadFile(String filename, File theFile)
{

      Reuse.logIt(TAG, "UploadFile did run."); // test that at least    
      FTPClient theClient = new FTPClient();

      // It's probably insecure to do it this way, but first I just want to make it work.
      final String theSite = [the name of my site];
      String username = [my username];
      String password = [my password];


        // …
Run Code Online (Sandbox Code Playgroud)

java eclipse ftp android ftp-client

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

保持控制始终在最前面

是否可以将控件(Panel)始终保持在所有其他控件上,即使它们也使用Control.BringToFront()

我厌倦了自己使用BringToFront,但是如果此控件下的另一个控件也使用此命令,这似乎会失效.

.net c# z-order winforms

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

将装箱的 float 拆箱为 int

我正在准备考试,偶然发现了一个有关装箱/拆箱的问题。我一直想,如果我装箱,我们可以说这样的浮动:

float x = 4.5f;
object o = x;
Run Code Online (Sandbox Code Playgroud)

如果想要从 中返回一个值类型变量o,我将不得不将其拆箱为浮点型。

float y = (float)o;
Run Code Online (Sandbox Code Playgroud)

这应该引发异常:

int z = int(o);
Run Code Online (Sandbox Code Playgroud)

如果我想将存储的值转换o为 int,我必须先将其拆箱,然后再进行转换,如下所示:

int z = (int)(float)o;
Run Code Online (Sandbox Code Playgroud)

现在我偶然发现的问题是:

假设你有这样的方法:

public static void FloorTemperature(float degrees) {
    object degreesRef = degrees;
    `xxx`
    Console.WriteLine(result);
}
Run Code Online (Sandbox Code Playgroud)

您需要确保应用程序不会因无效转换而引发异常。您应该插入哪个代码段xxx(我认为无效转换是无效转换异常):

(一) int result = (int)degreesRef; (二)int result = (int)(float)degreesRef;

正确的解决方案是(a),但对我来说(b)看起来是正确的。那么您能赐教一下吗?我缺少什么?

亲切的问候

c# boxing

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