我有一个使用csv文件内容生成的数据.我使用其他信息将csv的某些列(现在在数据表中)映射到用户需要填充的信息.
在最好的世界中,映射总是可能的.但这不是现实......所以在我尝试映射数据表列值之前,我需要检查该列是否存在.如果我不这样做,请检查我是否有ArgumentException.
当然我可以用这样的代码来检查:
try
{
//try to map here.
}
catch (ArgumentException)
{ }
Run Code Online (Sandbox Code Playgroud)
但我现在有3列要映射,部分或全部可能存在/缺失
有没有一种好方法可以检查数据表中是否存在列?
我不确定为什么我说这个错误是诚实的.
private int hour
{
get;
set
{
//make sure hour is positive
if (value < MIN_HOUR)
{
hour = 0;
MessageBox.Show("Hour value " + value.ToString() + " cannot be negative. Reset to " + MIN_HOUR.ToString(),
"Invalid Hour", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else
{
//take the modulus to ensure always less than 24 hours
//works even if the value is already within range, or value equal to 24
hour = value % MAX_HOUR;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我也试过做一个实际的财产:
public int hour
{ …Run Code Online (Sandbox Code Playgroud) 从我在线阅读的内容来看,安全性(线程主体),文化等上下文相关的项目应该跨越执行工作单元的边界内的异步线程.
我遇到了非常混乱和潜在危险的错误.我注意到我的线程的CurrentPrincipal在异步执行中丢失了.
以下是ASP.NET Web API方案的示例:
首先,让我们设置一个简单的Web API配置,其中包含两个委托处理程序,用于测试目的.
他们所做的就是写出调试信息并传递请求/响应,除了第一个"DummyHandler",它设置线程的主体以及要在整个上下文中共享的一段数据(请求的相关ID).
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MessageHandlers.Add(new DummyHandler());
config.MessageHandlers.Add(new AnotherDummyHandler());
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
public class DummyHandler : DelegatingHandler
{
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
CallContext.LogicalSetData("rcid", request.GetCorrelationId());
Thread.CurrentPrincipal = new ClaimsPrincipal(new ClaimsPrincipal(new ClaimsIdentity(new[]{ new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", "dgdev") }, "myauthisthebest")));
Debug.WriteLine("Dummy Handler Thread: {0}", Thread.CurrentThread.ManagedThreadId);
Debug.WriteLine("User: {0}", (Object)Thread.CurrentPrincipal.Identity.Name);
Debug.WriteLine("RCID: {0}", CallContext.LogicalGetData("rcid"));
return base.SendAsync(request, cancellationToken) …Run Code Online (Sandbox Code Playgroud) 好的,我想提取DataRow一个DataReader.我一直在寻找相当长的一段时间,看起来没有一种简单的方法可以做到这一点.
我理解a DataReader更多是行的集合,但它当时只读取一行.
所以我的问题是:有没有办法提取DataRow出当前的一行DataReader?
我遇到了一些问题,我使用DataTable将数据存储在dataGridView中.数据输入如下:
dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("par", typeof(string));
dt.Columns.Add("max", typeof(int));
dt.Columns.Add("now", typeof(int));
dt.Rows.Add(new object[] { id++,i + " " + j++, strarr[0], strarr[1] }); // ... etc etc
dataGridView1.DataSource = dt;
Run Code Online (Sandbox Code Playgroud)
现在我想做一些更改,我使用代码:
dt.Rows[1].ItemArray[3] = "VALUE";
Run Code Online (Sandbox Code Playgroud)
当我调试时,ItemArray表示我想要的行,所以它的okey,但我仍然无法做任何更改,什么是错的?如何更新DataTable ??? 我正在谷歌搜索没有:(
我有以下代码:
private void dgvStatus_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
foreach (DataGridViewRow row in dgvStatus.Rows)
{
row.Cells[color.Index].Style.BackColor = Color.FromArgb(((GesTest.dsEssais.FMstatusAnomalieRow)row.DataBoundItem).iColor);
}
}
Run Code Online (Sandbox Code Playgroud)
我试图从背景颜色列设置每个单元格的背景颜色.这不起作用颜色永远不会改变.知道为什么吗?
我一直在环顾四周,但没有找到任何有用的东西
我目前有一个表格,除了一个之外,还有所有想要的效果.目前的形式由顶部的menustrip组成,下面有一个面板,其中包含标签和图片框.当表单启动时,menustrip不可见,只有当用户按下"Alt"按钮并且以相同的方式消失时,它才会变得可见.
面板将具有透明背景(.PNG)的背景图像.这个图像将成为表单的主要布局,因为我将borderstyle设置为none.现在的问题是表单在面板下方仍然具有白色/浅灰色背景.
现在我的问题是如何使表单透明,以便面板上的图像成为主要布局,而不仅仅是图像下面的图像背面颜色.我不想使用Opacity属性,因为我希望面板100%可见.
哪里可以找到默认值ComboBox ControlTemplate?有没有工具从ComboBox实例中提取它?我发现的只是一个ComboBox ControlTemplate例子,它与默认的完全不同.
我一直在寻找一种方法来创建一个可以添加到C#窗体表格的嵌套网格视图.我发现很多使用ASP.NET的例子,但我找不到任何用C#完成的例子.我想要一个主/详细的Gridview,看起来像以下链接中的那个:http: //ilovedeveloper.blogspot.com/2009/05/nested-gridview-using-c.html
c# ×9
winforms ×3
datatable ×2
asp.net ×1
async-await ×1
c#-5.0 ×1
datagridview ×1
datareader ×1
datarow ×1
forms ×1
ftp ×1
gridview ×1
transparent ×1
wpf ×1