我相信这应该自动处理.我绑定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?
是否有一种简单的方法来解析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枚举吗?
我正在使用基于套接字的方法,并且无法改变我获得响应的方式.我只会使用此字符串.
我有一个相当复杂的程序架构,只有很少的逻辑但很多事件处理程序传递.我正在构建一个服务器框架的框架,我有以下类:
Core,听取:
CommHandler,听取:
CommLayer,听取:
IServerMock,我用模拟框架(MOQ)存根.
这种由事件触发的单元测试关系的最佳方法是什么?我知道单元测试应该是非常孤立和细化的东西,但我能想到测试的唯一方法是测试整个过程并检查Core的最终输出.
我从我的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窗口,直到它完成.
有没有办法让它运行而不向用户显示?
我想将我的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) 我在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#编程中的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中)...我还添加了数据源.我做了我以前做过的确切事情....但它不起作用:(
Android n00b试图找出文件服务器上传.我尝试使用Galaxy Nexus中的storeFile方法将文件上传到Android中的FTP服务器时遇到了很多麻烦FTPClient.两个问题.首先,它非常非常缓慢地运行 - 在代码移动之前,对于几个字节的文件只需要一分钟或更长时间(因此我的显示器在完成运行之前经常进入休眠状态).其次,完成后服务器上没有文件到达.但是代码确实继续运行,据我所知,我没有得到任何明确的错误消息告诉我一些错误.但第三,在所有这些(和注销)之后,它给了我一个NullPointerException并中止了活动.
(这也是第四个问题,NetworkInfo.getActiveNetworkInfo()即使我没有连接也似乎总是返回CONNECTED,但这似乎是无关的,我想专注于更大的问题.)
这里是我的代码:[ Reuse.logIt被我用来打印到logcat的一个方法,并printToUI以setText在显示屏上.正如你可能会说的那样,我试图给自己提供很多路标来弄清楚发生了什么.
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) 是否可以将控件(Panel)始终保持在所有其他控件上,即使它们也使用Control.BringToFront()?
我厌倦了自己使用BringToFront,但是如果此控件下的另一个控件也使用此命令,这似乎会失效.
我正在准备考试,偶然发现了一个有关装箱/拆箱的问题。我一直想,如果我装箱,我们可以说这样的浮动:
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# ×8
winforms ×3
.net ×2
java ×2
android ×1
batch-file ×1
boxing ×1
datagridview ×1
eclipse ×1
ftp ×1
ftp-client ×1
http ×1
httpresponse ×1
inputstream ×1
itext ×1
moq ×1
outputstream ×1
sockets ×1
sql ×1
unit-testing ×1
z-order ×1