برای قرار دادن عکسی داخل یک سلول جدول، نیازی نیست سایز و scale آنرا تغییر دهید؛ چون خودش گزینهی fit دارد:
var pdfCell = new PdfPCell(Image.GetInstance(imageFilePath), fit: true);
var pdfCell = new PdfPCell(Image.GetInstance(imageFilePath), fit: true);
CREATE TABLE [dbo].[Employee] ( [EmpId] INT NOT NULL, [FirstName] VARCHAR (20) NOT NULL, [LastName] VARCHAR (20) NOT NULL, [City] VARCHAR (20) NOT NULL, PRIMARY KEY CLUSTERED ([EmpId] ASC) );
<asp:BoundField DataField="FirstName" HeaderText="First Name" />
<asp:TemplateField> <ItemTemplate> <asp:CheckBox ID="chkDel" runat="server" /> </ItemTemplate> </asp:TemplateField>
<asp:Button ID="btnDeleteRecord" runat="server" OnClick="btnDeleteRecord_Click" Text="Delete" />
function DeleteConfirm() { var Ans = confirm("Do you want to Delete Selected Employee Record?"); if (Ans) { return true; } else { return false; } }
protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { //Displaying the Data showData(); //Adding an Attribute to Server Control(i.e. btnDeleteRecord) btnDeleteRecord.Attributes.Add("onclick", "javascript:return DeleteConfirm()"); } }
//Method for Displaying Data protected void showData() { DataTable dt = new DataTable(); SqlConnection con = new SqlConnection(cs); SqlDataAdapter adapt = new SqlDataAdapter("select * from Employee",con); con.Open(); adapt.Fill(dt); con.Close(); GridView1.DataSource = dt; GridView1.DataBind(); }
protected void DeleteRecord(int empid) { SqlConnection con = new SqlConnection(cs); SqlCommand com = new SqlCommand("delete from Employee where EmpId=@ID",con); com.Parameters.AddWithValue("@ID",empid); con.Open(); com.ExecuteNonQuery(); con.Close(); }
protected void btnDeleteRecord_Click(object sender, EventArgs e) { foreach (GridViewRow grow in GridView1.Rows) { //Searching CheckBox("chkDel") in an individual row of Grid CheckBox chkdel = (CheckBox)grow.FindControl("chkDel"); //If CheckBox is checked than delete the record with particular empid if(chkdel.Checked) { int empid = Convert.ToInt32(grow.Cells[1].Text); DeleteRecord(empid); } } //Displaying the Data in GridView showData(); }
var connection = new SqliteConnection("Data Source=:memory:"); connection.Open(); var createCommand = connection.CreateCommand(); createCommand.CommandText = @" CREATE TABLE persian_letter ( value TEXT ); INSERT INTO persian_letter VALUES ('ا'),('ب'),('پ'),('ت'),('ث'),('ج'),('چ'),('ح'),('خ'),('د'),('ذ'),('ر'),('ز'),('ژ'),('س'),('ش'), ('ص'),('ض'),('ط'),('ظ'),('ع'),('غ'),('ف'),('ق'),('ک'),('گ'),('ل'),('م'),('ن'),('و'),('ه'),('ی'); "; createCommand.ExecuteNonQuery();
var queryCommand = connection.CreateCommand(); queryCommand.CommandText = @" SELECT value FROM persian_letter order by value "; var reader = queryCommand.ExecuteReader(); var sortedDbItems = new List<string>(); while (reader.Read()) { sortedDbItems.Add($"{reader["value"]}"); }
connection.CreateCollation("PersianCollationNoCase", (x, y) => string.Compare(x, y, ignoreCase: true));
SELECT value FROM persian_letter order by value COLLATE PersianCollationNoCase
connection.CreateCollation("PersianCollationNoCaseYekeInsensitive", (x, y) => string.Compare(x.ApplyCorrectYeKe(), y.ApplyCorrectYeKe(), ignoreCase: true));
CREATE TABLE persian_letter ( value TEXT ); INSERT INTO persian_letter VALUES ('ی'),('ک');
SELECT count() FROM persian_letter WHERE value = 'ی' COLLATE PersianCollationNoCaseYekeInsensitive
یک نکته: فایلهای CHM دریافتی از طریق مرورگرها، به صورت پیشفرض قابل نمایش نیستند. باید بر روی آنها کلیک راست کنید و سپس در برگهی خواص فایل، بر روی دکمهی unblock آن فایل کلیک کنید تا قابل استفاده شود.
@Number @code { [Parameter] public string Number { get; set; } protected override Task OnInitializedAsync() { var persianDic = new Dictionary<char, char> { {'0','۰'}, {'1','۱'}, {'2','۲'}, {'3','۳'}, {'4','۴'}, {'5','۵'}, {'6','۶'}, {'7','۷'}, {'8','۸'}, {'9','۹'}, }; var number = Number.ToString(); var ech = number.ToCharArray(); for (int i = 0; i < ech.Length; i++) { persianDic.TryGetValue(ech[i], out char pch); if (pch == null) continue; ech[i] = pch; } Number = new string(ech); return base.OnInitializedAsync(); } }
... @foreach (var item in _items) { <tr> <td class="h6 text-color-1">@item.Title</td> <td> <PersianNumber Number="@item.Price.ToString()"/> ریال</td> </tr> } ...
// ... app.UseHttpsRedirection(); app.MapGet("/api/authors", async (MinimalBlogDbContext ctx) => { var authors = await ctx.Authors.ToListAsync(); return authors; }); app.Run();
//... app.UseHttpsRedirection(); //... app.MapPost("/api/authors", async (MinimalBlogDbContext ctx, AuthorDto authorDto) => { var author = new Author(); author.FirstName = authorDto.FirstName; author.LastName = authorDto.LastName; author.Bio = authorDto.Bio; author.DateOfBirth = authorDto.DateOfBirth; ctx.Authors.Add(author); await ctx.SaveChangesAsync(); return author; }); app.Run(); internal record AuthorDto(string FirstName, string LastName, DateTime DateOfBirth, string? Bio);
using Microsoft.EntityFrameworkCore; using MinimalBlog.Dal; namespace MinimalBlog.Api.Extensions; public static class ServiceCollectionExtensions { public static IServiceCollection AddApplicationServices(this IServiceCollection services, WebApplicationBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); var connectionString = builder.Configuration.GetConnectionString("Default"); builder.Services.AddDbContext<MinimalBlogDbContext>(opt => opt.UseSqlServer(connectionString)); return services; } }
namespace MinimalBlog.Api.Extensions; public static class WebApplicationExtensions { public static WebApplication ConfigureApplication(this WebApplication app) { if (app == null) { throw new ArgumentNullException(nameof(app)); } if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); } app.UseHttpsRedirection(); return app; } }
var builder = WebApplication.CreateBuilder(args); builder.Services.AddApplicationServices(builder); var app = builder.Build(); app.ConfigureApplication();
window.onbeforeunload = function (e) { $.connection.hub.stop(); };